找回密码
 加入
搜索
查看: 1469|回复: 2

[AU3基础] EXCEL 写入字段长度问题[已解决]

[复制链接]
发表于 2017-4-15 22:09:00 | 显示全部楼层 |阅读模式
本帖最后由 heroxianf 于 2017-4-16 12:14 编辑

单个写入两个链接的长度可以,但是一旦是一个数组就不能了,是不是这个函数有不完美的地方, 大家指点一下。



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

; 创建应用程序对象并创建一个新工作簿
Local $oExcel = _Excel_Open()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeWrite 示例", "创建 Excel 应用对象发生错误." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
Local $oWorkbook = _Excel_BookNew($oExcel)
If @error Then
    MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeWrite 示例", "创建新工作簿失败." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_Close($oExcel)
    Exit
EndIf

; *****************************************************************************
; 写入有换行符的字符串到活动工作簿的活动工作表
; *****************************************************************************
Local $Data[2][2]
$Data[0][0] = "一个优秀的台风应该是这样的:来势凶猛,全巿停课停上班。掉转风向,擦肩而过。环流影响,危害减弱。下雨交差,皆大欢喜。领导防风有功,市民没有损失,学生家里休息。如果能够忽然放慢脚步,让全市多停一天班,那么不仅是优秀的台风,简直是卓越的台风了。" _
                                & "一个优秀的台风应该是这样的:来势凶猛,全巿停课停上班。掉转风向,擦肩而过。环流影响,危害减弱。下雨交差,皆大欢喜。领导防风有功,市民没有损失,学生家里休息。如果能够忽然放慢脚步,让全市多停一天班,那么不仅是优秀的台风,简直是卓越的台风了。" _
                                & "一个优秀的台风应该是这样的:来势凶猛,全巿停课停上班。掉转风向,擦肩而过。环流影响,危害减弱。下雨交差,皆大欢喜。领导防风有功,市民没有损失,学生家里休息。如果能够忽然放慢脚步,让全市多停一天班,那么不仅是优秀的台风,简直是卓越的台风了。"
$Data[0][1] = "一个优秀的台风应该是这样的:来势凶猛,全巿停课停上班。掉转风向,擦肩而过。环流影响,危害减弱。下雨交差,皆大欢喜。领导防风有功,市民没有损失,学生家里休息。如果能够忽然放慢脚步,让全市多停一天班,那么不仅是优秀的台风,简直是卓越的台风了。" _
                                & "一个优秀的台风应该是这样的:来势凶猛,全巿停课停上班。掉转风向,擦肩而过。环流影响,危害减弱。下雨交差,皆大欢喜。领导防风有功,市民没有损失,学生家里休息。如果能够忽然放慢脚步,让全市多停一天班,那么不仅是优秀的台风,简直是卓越的台风了。" _
                                & "一个优秀的台风应该是这样的:来势凶猛,全巿停课停上班。掉转风向,擦肩而过。环流影响,危害减弱。下雨交差,皆大欢喜。领导防风有功,市民没有损失,学生家里休息。如果能够忽然放慢脚步,让全市多停一天班,那么不仅是优秀的台风,简直是卓越的台风了。"
$Data[1][0] = "一个优秀的台风应该是这样的:来势凶猛,全巿停课停上班。掉转风向,擦肩而过。环流影响,危害减弱。下雨交差,皆大欢喜。领导防风有功,市民没有损失,学生家里休息。如果能够忽然放慢脚步,让全市多停一天班,那么不仅是优秀的台风,简直是卓越的台风了。" _
                                & "一个优秀的台风应该是这样的:来势凶猛,全巿停课停上班。掉转风向,擦肩而过。环流影响,危害减弱。下雨交差,皆大欢喜。领导防风有功,市民没有损失,学生家里休息。如果能够忽然放慢脚步,让全市多停一天班,那么不仅是优秀的台风,简直是卓越的台风了。" _
                                & "一个优秀的台风应该是这样的:来势凶猛,全巿停课停上班。掉转风向,擦肩而过。环流影响,危害减弱。下雨交差,皆大欢喜。领导防风有功,市民没有损失,学生家里休息。如果能够忽然放慢脚步,让全市多停一天班,那么不仅是优秀的台风,简直是卓越的台风了。"
$Data[1][1] = "一个优秀的台风应该是这样的:来势凶猛,全巿停课停上班。掉转风向,擦肩而过。环流影响,危害减弱。下雨交差,皆大欢喜。领导防风有功,市民没有损失,学生家里休息。如果能够忽然放慢脚步,让全市多停一天班,那么不仅是优秀的台风,简直是卓越的台风了。" _
                                & "一个优秀的台风应该是这样的:来势凶猛,全巿停课停上班。掉转风向,擦肩而过。环流影响,危害减弱。下雨交差,皆大欢喜。领导防风有功,市民没有损失,学生家里休息。如果能够忽然放慢脚步,让全市多停一天班,那么不仅是优秀的台风,简直是卓越的台风了。" _
                                & "一个优秀的台风应该是这样的:来势凶猛,全巿停课停上班。掉转风向,擦肩而过。环流影响,危害减弱。下雨交差,皆大欢喜。领导防风有功,市民没有损失,学生家里休息。如果能够忽然放慢脚步,让全市多停一天班,那么不仅是优秀的台风,简直是卓越的台风了。"

Local $Data1 = "一个优秀的台风应该是这样的:来势凶猛,全巿停课停上班。掉转风向,擦肩而过。环流影响,危害减弱。下雨交差,皆大欢喜。领导防风有功,市民没有损失,学生家里休息。如果能够忽然放慢脚步,让全市多停一天班,那么不仅是优秀的台风,简直是卓越的台风了。"

;~ _ArrayDisplay($Data)
_Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $Data, "C3")
_Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $Data1, "A1")
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeWrite 示例 1", "写入工作表失败." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeWrite 示例 1", "字符串成功写入.")
发表于 2017-4-16 07:02:10 | 显示全部楼层
本帖最后由 h20040606 于 2017-4-16 07:08 编辑

回复 1# heroxianf
   经测试,问题出在Excel的transpose函数,改为强制使用_arraytranspose,即如下调用即可:
_Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $Data, "C3",true,True)

评分

参与人数 1金钱 +10 收起 理由
heroxianf + 10 学习了。

查看全部评分

 楼主| 发表于 2017-4-16 12:13:54 | 显示全部楼层
回复 2# h20040606


    谢谢,问题解决了。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-4-25 22:24 , Processed in 0.070858 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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