lin6051 发表于 2022-10-17 15:13:09

[已解决]Excel 如何默认写入"文本"格式

本帖最后由 lin6051 于 2022-10-19 12:09 编辑

#include <Array.au3>
#include <Excel.au3>


Local $oExcel = _Excel_Open()
Local $oWorkbook = _Excel_BookNew($oExcel)

Local $aArray2D = [['0123', 12, 13, 14, 15], , ]

_Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $aArray2D, "A1")

lin6051 发表于 2022-10-17 15:23:15

还有 _Excel_FilterSet设置 筛选后,为什么读取还是 全部内容呢?

laoxgogo 发表于 2022-10-18 09:20:26

在数值前加个'   就是文本格式

lin6051 发表于 2022-10-19 10:53:21

laoxgogo 发表于 2022-10-18 09:20
在数值前加个'   就是文本格式

这个方式 我后来 论坛搜到了, 不过不完美 编辑的时候 前面会显示这个'      
最好能修改单元格格式的方式

laoxgogo 发表于 2022-10-19 11:26:29

lin6051 发表于 2022-10-19 10:53
这个方式 我后来 论坛搜到了, 不过不完美 编辑的时候 前面会显示这个'      
最好能修改单元格格式的方 ...

调用vba吧,先设置文本格式再写入

lin6051 发表于 2022-10-19 11:30:40

laoxgogo 发表于 2022-10-19 11:26
调用vba吧,先设置文本格式再写入

$oWorkbook.workbooks(1).activesheet.range("A1").numberformatlocal="@"

搜索试了 好几种都不行

laoxgogo 发表于 2022-10-19 11:34:50

lin6051 发表于 2022-10-19 11:30
$oWorkbook.workbooks(1).activesheet.range("A1").numberformatlocal="@"

搜索试了 好几种都不行

run bas模块呀!

chzj589 发表于 2022-10-19 11:45:09

lin6051 发表于 2022-10-19 11:30
$oWorkbook.workbooks(1).activesheet.range("A1").numberformatlocal="@"

搜索试了 好几种都不行

$oWorkbook.ActiveSheet.Columns("A").NumberFormatLocal = "@"
$L_Wd = $oWorkbook.ActiveSheet.Range("A1").NumberFormat ;显示单元格A1格式
MsgBox(0, "A2", $L_Wd)

lin6051 发表于 2022-10-19 12:09:05

我擦 ,这样可以了
$oExcel.ActiveSheet.Columns(1).NumberFormat="@"
设第一列为文本

chzj589 发表于 2022-10-19 12:15:33

lin6051 发表于 2022-10-19 12:09
我擦 ,这样可以了
$oExcel.ActiveSheet.Columns(1).NumberFormat="@"
设第一列为文本

$oWorkbook.ActiveSheet.Columns("A:E").NumberFormat="@"
页: [1]
查看完整版本: [已解决]Excel 如何默认写入"文本"格式