找回密码
 加入
搜索
查看: 1811|回复: 8

[系统综合] [已解决]Excel_Chart如何改成讀取檔案再繪圖

[复制链接]
发表于 2018-7-30 10:14:26 | 显示全部楼层 |阅读模式
本帖最后由 ipmitool 于 2018-7-31 10:20 编辑

Excel_Chart 這個範例如何改成讀取檔案(list.csv)再繪出圖表





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2018-7-31 07:57:02 | 显示全部楼层
ipmitool 发表于 2018-7-31 07:48
好酷喔, 可以分享code給我學習學習嗎?

只读取200行

#include <Excel.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Const $xlColumns = 2
Const $xl3DPieExploded = 70
Const $xlDataLabelsShowValue = 2
TrayTip("小苹果提示", "窗口程序正在加载数据,请等待...", 3, 1)
$begin = TimerInit()
Local $oExcel = ObjCreate("Excel.Application") ; 创建Excel对象
$oExcel.Visible = 1
$oExcel.SheetsInNewWorkbook = 1 ; 设置要创建的工作表数量
; 或打开现有文件:
$cInput = "list.csv"
Local $sFilePath = @ScriptDir & '\' & $cInput ;& '.xlsx';@ScriptDir & "\Book3.xlsx";
Local $oBook = $oExcel.WorkBooks.Open($sFilePath, Default, False)
Local $oSheet = $oBook.Worksheets.Item(1) ; 工作表的名称
Local $r = 2
For $i = 0 To 201
        If $i = 201 Then
                $oSheet.Range("j2").Offset($i, 0).Formula = "=SUM(j2:j201)"
        Else
                $oSheet.Range("j2").Offset($i, 0).Formula = "=SUM(B" & $r & ":I" & $r & ")"
                $r += 1
        EndIf
Next
Local $width = 500, $height = 450
; 右对齐单元格I13:
Local $left = $oSheet.Range("J49015").Left - $width ; Cell J13:left = cell I13:right!
Local $top = $oSheet.Range("I49015").Top
; 创建一个对象图
Local $oChart = $oSheet.ChartObjects.Add($left, $top, $width, $height).Chart
With $oChart
        .ChartType = $xl3DPieExploded ; 设置图表类型
        .SetSourceData($oSheet.Range("j2:j99"), $xlColumns) ; 图表的数据区域
        .SeriesCollection(1).XValues = "='Sheet1'!j2S1:j201S1" ; 标签图例集(名称来自A2:A10)
        .HasTitle = True ;激活标题
        .ChartTitle.Characters.Text = "总数200行 (合计 = " & StringFormat('%.2f', $oSheet.Range('j203').Value) & ")" ; 标题
        .ApplyDataLabels($xlDataLabelsShowValue, False, True) ; 细分标注值
EndWith
_Excel_BookClose($oExcel, False)
$dif = TimerDiff($begin) / 1000
MsgBox(0, "导出速度", '读取' & '     用时' & Int($dif) & '秒', 2)
TrayTip("", "", 1, 0)




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×

点评

越看你越帥了~~~  发表于 2018-7-31 10:19
发表于 2018-7-30 13:57:00 | 显示全部楼层
你的list.csv文件太大,很费劲

点评

看了你的回复我忍不住笑了!  发表于 2018-7-30 14:50
发表于 2018-7-30 17:12:09 | 显示全部楼层
[mw_shl_code=applescript,true]func  erp_xxx($phe)
        $xls = ObjGet($phe)
        If Not IsObj($xls) Then
                MsgBox(0, "对象错误", $phe)
        Else
        With $xls.activesheet
                $erp_x = .usedrange.value
                $erp_x = .parent.application.transpose($erp_x)
                .parent.close(False)
        EndWith
        Return  $erp_x
        EndIf
        EndFunc[/mw_shl_code]

弄成数组,折腾完再搞进EXCEL

发表于 2018-7-30 17:25:39 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2018-7-31 07:48:08 | 显示全部楼层
duxing 发表于 2018-7-30 17:12
[mw_shl_code=applescript,true]func  erp_xxx($phe)
        $xls = ObjGet($phe)
        If Not IsObj($xls) Then

會不會很折騰啊? 哈哈
 楼主| 发表于 2018-7-31 07:48:34 | 显示全部楼层

好酷喔, 可以分享code給我學習學習嗎?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-24 01:10 , Processed in 0.083208 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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