请问如何突破各种限制或错误直接读取EXCEL文件里的内容?
我手头上经常接收到各部门、各客户发送来的EXCEL文件,完全没有一个标准格式以及版本,有的还是OFFICE2007、有的是OFFICE2010、有的是OFFICE2016或者更高;有的客户发来的是只读性质的,有的可能是用什么工具从PDF转的,有的文件名带有空格的,有的文件名带有符号的,杂七杂八,乱七八糟。导致我有时在OFFICE2010环境下打开文件,直接飘红,提示“OFFICE已检测到此文件存在问题,编辑此文件可能会损害您的计算机,请单击查看详细信息”。这种情况经常发生,人都快发疯了。通过类似于如下的程序打开该类文件,经常报错:
程序代码:
Dim xlApp As Excel.Application Dim xlBook As Excel.WorkBook Dim xlSheet As Excel.Worksheet Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象 Set xlBook = xlApp.Workbooks.Open("文件名") '打开已经存在的EXCEL工件簿文件 xlApp.Visible = True '设置EXCEL对象可见(或不可见) Set xlSheet = xlBook.Worksheets("表名") '设置活动工作表
想请教一下各位高手,是否有类似于如下的方法,直接读取EXCEL文件的内容,而不打开文件(防止什么类似文件名不规范等问题导致报错):
程序代码:
Open Text1.Text For Binary As #1 ReDim aryContent(LOF(1) - 1) Get #1, , aryContent Close #1 strWj = StrConv(aryContent, vbUnicode) strJ = Split(strWj, vbCrLf) For ii = 0 To UBound(strJ) b() = Split(strJ(ii), ",") If ii > 33 And IsNumeric(Left(strJ(ii), 1)) = True Then PIC(b(3), b(4)) = b(2) End If Next ii
是否可用ADO方式?从来没有用过,能否给出直接读取EXCEL文件内容,并把每一行都写入一维数组?
我也想过能否把EXCEL文件转换成CSV文件,但是那也是要先打开,又要触发各种各样的问题:
想请各位高手给出一个解决方案,方便的话希望能够给出相应的程序,谢谢各位!