本帖最后由 flysky1222 于 2013-10-5 13:47 编辑
我写了一段从listview导出到excel的代码,测试了一下发觉效率实在是很低,在论坛了查了一下有人提出来说用复制剪贴板的速度很快,又有人说直接读成二维数组再写入速度很快。,但是我照着方法试验了很久都没能成,不知道哪位能给在下指点一下。
最好是能给在下写一个列子
listview内容如:
订单编号 商品名称 收货人姓名 省份 地级市 收货地址 联系电话 联系手机
10000 大米 张三 湖北省 武汉市 站前路209号 027-00000000 13898281111
10000 大米 李四 湖北省 武汉市 站前路208号 027-00000000 13898281111 Local $excnum = _GUICtrlListView_GetItemCount($ListView1),$y,$x
If $excnum = 0 Then
MsgBox(64, "提示", "没有记录可被输出.")
Else
Local $oExcel = _ExcelBookNew(1)
For $y = 0 To $excnum
$excret = _GUICtrlListView_GetItemTextString($ListView1, $y)
$excarray = StringSplit($excret, "|")
$oExcel.workbooks(1).activesheet.cells.numberformatlocal="@"
For $x = 0 To $excarray[0]
_ExcelWriteCell($oExcel, "订单编号", 1, 1)
_ExcelWriteCell($oExcel, "商品名称", 1, 2)
_ExcelWriteCell($oExcel, "收货人姓名", 1, 3)
_ExcelWriteCell($oExcel, "省份", 1, 4)
_ExcelWriteCell($oExcel, "地级市", 1, 5)
_ExcelWriteCell($oExcel, "收货地址", 1, 6)
_ExcelWriteCell($oExcel, "联系电话", 1, 7)
_ExcelWriteCell($oExcel, "联系手机", 1, 8)
_ExcelWriteCell($oExcel, $excarray[$x], $y + 2, $x)
Next
Next
EndIf
|