本帖最后由 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[UBound($aArray2)][2]
For $i=1 To UBound($aArray2)-1
$aLen[$i][0]=StringStripWS($aArray2[$i][1],8) ;去掉所有的空格
$aLen[$i][1]=StringLen($aArray2[$i][1])
Next
_ArrayDisplay($aLen,"字符长度检查")
$wb.close(true) ;保存并关闭工作簿(参数true代表保存)
$oexcel.quit ;退出excel进程
MsgBox(0,"","处理完成!")
Func Array2DColsToRows(ByRef $avArray)
Local $avArray2[UBound($avArray, 2)][UBound($avArray, 1)]
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文件如下
|