Excel格式转化工具

背景

最近做项目,业务有几百个Excel文件需要上传到系统,由于是薪酬数据内容保密,原始文件不能提供,给了Excel 2007格式的测试数据。

用java代码解析Excel 2007格式,开发完成之后进入UAT,客户测试时说原始文件格式是Excel 2003版本的,给的文件是转化之后的,无奈之下

重新开发Excel 2003版本解析,代码写完交付UAT测试,发现异常,排查原因Excel 2003的原始数据竟然是html格式的文本文件,

实在不想再写java代码去解析html格式的Excel 2003了,因此用VB做了这个小工具,实现文件格式批量转化。

工具和源代码下载地址

https://pan.baidu.com/s/16346pcwKXX3oRXA0GtcWlQ

页面

代码

Rem  加载目标文件格式
Private Sub Form_Load()
TypeList.List(0) = "Excel 2003"
TypeList.List(1) = "Excel 2007"
End Sub

Rem  格式转换过程
Private Sub Convert_Click()

Rem 定义变量:源文件夹路径、目标文件夹路径、目标文件格式、目标文件名后缀
Dim SourceDir$, TargetDir$, ExcelTypeIn$, suffix$

Rem 判断源文件夹路径是否存在
SourceDir = Text1.Text
If Dir(SourceDir, vbDirectory) = "." Then
MsgBox "源文件夹路径不能为空!"
Exit Sub
ElseIf Dir(SourceDir, vbDirectory) = "" Then
MsgBox "源文件夹路径" & SourceDir & "不存在!"
Exit Sub
End If
SourceDir = SourceDir & "\"

Rem 判断目标文件夹路径是否存在
TargetDir = Text2.Text
If Dir(TargetDir, vbDirectory) = "." Then
MsgBox "目标文件夹路径不能为空!"
Exit Sub
ElseIf Dir(TargetDir, vbDirectory) = "" Then
MsgBox "目标文件夹路径" & TargetDir & "不存在!"
Exit Sub
End If
TargetDir = TargetDir & "\"

Rem 判断源文件夹路径和目标文件夹路径是否相等
If SourceDir = TargetDir Then
MsgBox "源文件夹路径和目标文件夹路径不能相等!"
Exit Sub
End If

Rem 判断目标文件的格式
ExcelTypeIn = Val(TypeList.ListIndex)
If ExcelTypeIn = "0" Then
suffix = ".xls"
ElseIf ExcelTypeIn = "1" Then
suffix = ".xlsx"
Else
MsgBox "请选择目标文件格式!"
Exit Sub
End If

Rem 当前系统安装什么Excel就获得相应的excel.application
Dim ExApp As Object
Set ExApp = CreateObject("excel.application")
ExApp.Application.ScreenUpdating = False

Dim sourceFile$, targetFile$
sourceFile = Dir(SourceDir & "*.xls")
Do While sourceFile <> ""
targetFile = Left(sourceFile, InStr(sourceFile, ".") - 1) & suffix  ‘目标文件名称

Rem  --------------------------具体转化过程开始----------------------------
ExApp.Workbooks.Open (SourceDir & sourceFile)
ExApp.Application.DisplayAlerts = False
If ExcelTypeIn = "0" Then
ExApp.ActiveWorkbook.SaveAs TargetDir & targetFile, xlExcel8     ‘转换为2003格式
ElseIf ExcelTypeIn = "1" Then
ExApp.ActiveWorkbook.SaveAs TargetDir & targetFile, 51         ‘转换为2007格式
End If
ExApp.Application.DisplayAlerts = True
ExApp.ActiveWorkbook.Close True
Rem  --------------------------具体转化过程结束----------------------------

sourceFile = Dir   ‘获得文件夹中的下一个文件
Loop
ExApp.Application.ScreenUpdating = False
MsgBox "文件夹内的所有Excel文件格式转换完毕!"
End Sub

Rem 结束按钮的事件程序
Private Sub CloseCmd_Click()
End
End Sub
 

原文地址:https://www.cnblogs.com/walixiansheng/p/9501999.html

时间: 2024-10-10 15:24:17

Excel格式转化工具的相关文章

PDF→Excel格式转换工具集锦!

1. Free PDF to Excel Converter Free PDF to Excel Converter是一个把PDF文件转换为Excel格式的多功能免费程序.它支持批量处理,同时也支持XLSX和XLS以及CSV三种输出格式你可以在它的工具栏上点击"添加PDF文件"或者"添加文件夹"来转换PDF文件.添加文件之后点击转换按钮就开始处理程序了.你也可以只点击需要处理的页面,合并所有的PDF文件到一个Excel文件.它会试图保留格式,但可能不完全成功,但是所

AVI Player with Playmaker actions 视频格式转化之FFMPEG转化 (三)

前两篇大体介绍了一下AVI以及其简单的用法,这里补充一下两个函数这个是大部分视频播放器会用到的函数,但是AVI把这两个参数藏得很深,为了方便大家使用这里我就直接上代码,啥玩意你自己可以去看看注释,注意这个两个函数是放在MoviePlayer类里面的,代码如下: /// <summary> /// 获取视频总时长 /// </summary> /// <returns></returns> public float GetLastVideoTime() { i

自制 Word、Excel 批转 PDF 工具

原文:自制 Word.Excel 批转 PDF 工具 目前做金融业的项目,该公司每天会产生很多 Word.Excel 文档,需要大量地转换为 PDF,除了自己保存外,也要给金融主管机构作为备份.由于文档数量很多,希望有工具能在下班前.作完设置后,放着让机器自动.大量地批转:除此之外,亦希望有特殊的功能,例如给主管机构的 Excel 文档,能仅选择其中某几个 sheet (工作表) 转成 PDF. 我找了网络上许多 PDF 转换工具,没有完全符合上述需求的,只好自己用 .NET / VSTO 写一

TableML-GUI篇(Excel编译/解析工具)

项目情况 本文接上篇TableML Excel编译/解析工具,本文主要介绍GUI工具的使用,及配置项,如果你想了解此工具更加详细的说明,请阅读上篇文章. 项目地址:https://github.com/zhaoqingqing/TableML 项目介绍和更新日志 项目介绍 TableML, Table Markup Language, 基于电子表格的标记语言, 类似JSON, XML, INI,TableML可以作为软件项目的配置标记语言, 与之不同的是,您可以使用Excel等电子表格编辑软件来

TestLink学习七:TestLink测试用例Excel转换XML工具

最近在整理测试用例,所以想找一个合适的工具来完成对测试需求.测试用例的管理.对比了一翻,发现开源工具中扩展比较好的还属TestLink,而且还可以与JIRA进行对接,这样就引起了我更大的兴趣.加上之前本来就接触过此工具,只是源于各种原因没能深入去研究来着,这次也就是决心于此!于是就找来了Testlink的最新版1.9.3,将其搭建在Ubuntu Server上,很快我们就可以正常方访问了.不过说实话,Testlink界面确实很难看,不过毕竟它不是商业工具,而且可以自己去扩展并定制开发,这就是最大

记录一次帮策划写的基于VBA的数据转化工具

由于策划计算的表格结构和程序实际使用的数据表结构不一定一致,因此有时候经常需要做数据转化.把策划自己的表格转成程序需要的格式,然后再导入数据库.这次也是策划有个表,里面有多个字段分别表示多个属性,但是程序考虑到通用,不想一个属性增加一个字段,因此想用一个字段,然后采用JSON格式来表示所有属性. 因此,帮策划写了个VBA实现多个字段合并成JSON的.这个VBA可以通过Ctrl表格来配置: 源表名:策划表的名字 目标表名:程序表的名字 字段映射:程序表的字段名对应策划表的字段名.目前支持字段合并(

一个基于POI的通用excel导入导出工具类的简单实现及使用方法

前言: 最近PM来了一个需求,简单来说就是在录入数据时一条一条插入到系统显得非常麻烦,让我实现一个直接通过excel导入的方法一次性录入所有数据.网上关于excel导入导出的例子很多,但大多相互借鉴.经过思考,认为一百个客户在录入excel的时候,就会有一百个格式版本,所以在实现这个功能之前,所以要统一excel的格式.于是提供了一个通用excel模版的下载功能.当所有客户用模版录入好数据再上传到系统,后端对excel进行解析,然后再持久化到数据库. 概述: 此工具类的几大特点 1.基本导入导出

使用VBA批量转换Excel格式,由.xls转换成.xlsx

问题分析: Excel2007以前的格式是.xls,之后的格式是.xlxs.打开单独的一个Excel文档,使用“另存为”功能,可以很轻松的转换格式.但是面对几百个Excel表这样就太累了,搜索很久,也没发现一个工具可以直接批量进行格式转换. 最终发现可以使用VBA来实现批量转换Excel格式的功能.大家不要被吓到,VBA我也不懂,代码是从别人那里搞到的,现在也只是知道了怎么使用,但这足够解决问题了 VBA介绍: 1.VBA是一种编程语言,它依托于Office软件,不能独立的运行,通过VBA可以实

分享几个pdf转excel格式的方法

大家是否在网上找找关于自己兴趣的的一些文档资料的时候,会碰到一些关于PDF格式的文件,有价值的东西很想把它复制下来,可是很多的PDF格式并不支持复制啊,怎么办呢?如果手动键盘打字,显然速度会慢很多,根本不符合现代人办事节奏.此处,我主要讲解几种方法,就是关于怎样从PDF文件中转换成Excel文档,希望大家都喜欢. 1.用转换器批量转换 迅捷PDF转换成excel转换器是一个可以批量转换格式的转换器.安装后,直接双击桌面快捷方式的图表运行转换器便可. 第一步:添加批量文件.运行PDF转换器后,单击