Excel表格中一个奇怪的问题?【已解决】
本帖最后由 blue_dvd 于 2013-1-4 07:20 编辑附件中姓名一列,我用去空格的方式,始终都无法去除,很奇怪!
计算长度总会多一个字符,究竟是什么字符?哪位高手能知道姓名前面看不到的是什么字符?
#include<array.au3>
Local $sFilePath2 = FileOpenDialog("选择导入电子表格文件", @ScriptDir & "\", "Microsoft Excel 工作薄 (*.xls)", 1 + 2 + 4)
$oexcel=ObjCreate("excel.application") ;创建excel进程
$oexcel.visible=False;隐藏进程界面,可以提高处理速度
$wb=$oexcel.workbooks.open($sFilePath2);打开选定工作簿
Local $aArray2 = $wb.worksheets(1).usedrange.value
$aArray2=Array2DColsToRows($aArray2)
Local $aLen
For $i=1 To UBound($aArray2)-1
$aLen[$i]=StringStripWS($aArray2[$i],8) ;去掉所有的空格
$aLen[$i]=StringLen($aArray2[$i])
Next
_ArrayDisplay($aLen,"字符长度检查")
$wb.close(true);保存并关闭工作簿(参数true代表保存)
$oexcel.quit;退出excel进程
MsgBox(0,"","处理完成!")
Func Array2DColsToRows(ByRef $avArray)
Local $avArray2
For $i = 0 To UBound($avArray, 2) - 1
For $j = 0 To UBound($avArray, 1) - 1
$avArray2[$i][$j] = $avArray[$j][$i]
Next
Next
Return $avArray2
EndFunc ;==>Array2DColsToRows
Excel文件如下
名字前有一个tab,可以替换掉 $wb.worksheets(1).usedrange.replace(@tab,"")这样应该就可以了 回复 3# kevinch
大哥怎么查出是@tab键? 回复 4# blue_dvd
复制有问题的字符串,到notepad++中粘贴一下,然后显示所有字符,就看到tab符了~ 回复 5# haijie1223
多谢提醒!终于搞定了!
页:
[1]