找回密码
 加入
搜索
查看: 1475|回复: 10

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

[复制链接]
发表于 2022-10-17 15:13:09 | 显示全部楼层 |阅读模式
本帖最后由 lin6051 于 2022-10-19 12:09 编辑
#include <Array.au3>
#include <Excel.au3>


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

Local $aArray2D[3][5] = [['0123', 12, 13, 14, 15], [0021, 22, 23, 24, 25], [0031, 32, 33, 34, 35]]

_Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $aArray2D, "A1")
 楼主| 发表于 2022-10-17 15:23:15 | 显示全部楼层
还有 _Excel_FilterSet设置 筛选后,  为什么读取还是 全部内容呢?
发表于 2022-10-18 09:20:26 | 显示全部楼层
在数值前加个  '   就是文本格式
 楼主| 发表于 2022-10-19 10:53:21 | 显示全部楼层
laoxgogo 发表于 2022-10-18 09:20
在数值前加个  '   就是文本格式

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

调用vba吧,先设置文本格式再写入
 楼主| 发表于 2022-10-19 11:30:40 | 显示全部楼层
laoxgogo 发表于 2022-10-19 11:26
调用vba吧,先设置文本格式再写入

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

搜索试了 好几种都不行
发表于 2022-10-19 11:34:50 | 显示全部楼层
lin6051 发表于 2022-10-19 11:30
$oWorkbook.workbooks(1).activesheet.range("A1").numberformatlocal="@"

搜索试了 好几种都不行

run bas模块呀!
发表于 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)

点评

谢了, 这样可以  发表于 2022-10-19 12:13
 楼主| 发表于 2022-10-19 12:09:05 | 显示全部楼层
我擦 ,这样可以了
$oExcel.ActiveSheet.Columns(1).NumberFormat="@"
设第一列为文本
发表于 2022-10-19 12:15:33 | 显示全部楼层
lin6051 发表于 2022-10-19 12:09
我擦 ,这样可以了
$oExcel.ActiveSheet.Columns(1).NumberFormat="@"
设第一列为文本

$oWorkbook.ActiveSheet.Columns("A:E").NumberFormat="@"
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-22 11:05 , Processed in 0.083528 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表