日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

aspose excel中文文档_除了VBA,还有哪些编程语言可以操作Excel文件?

發布時間:2023/12/4 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 aspose excel中文文档_除了VBA,还有哪些编程语言可以操作Excel文件? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Excel(Microsoft office)是現在最常用的辦公軟件,主要涉及電子表格制作、數據處理、報表輸出展示以及更高端的還有金融建模等;我們知道,在需要批處理多個Excel工作表以及工作簿的時候,需要用到一個自動化的利器:VBA

VBA其實是Visual Basic嵌套在office軟件中的一個子集;VBA的功能很強大;但同時由于更新較少也有一些不方便的地方;比如VBA的數組功能一直被詬病,比如缺少智能提示的編輯器等等;那么有沒有其他的編程語言也可以操作Excel呢?

下面就讓我們來盤點一下:

Go語言 : Excelize

Excelize 是 Go 語言編寫的用于操作 Office Excel 文檔基礎庫,基于 ECMA-376,ISO/IEC 29500 國際標準??梢允褂盟鼇碜x取、寫入由 Microsoft Excel 2007 及以上版本創建的電子表格文檔。支持 XLSX / XLSM / XLTM 等多種文檔格式,高度兼容帶有樣式、圖片(表)、透視表、切片器等復雜組件的文檔,并提供流式讀寫 API,用于處理包含大規模數據的工作簿

Excelize是國人編寫的基于Go語言的Excel庫,中文文檔相對來說更為齊全,同時Go語言是編譯型語言,編譯后只有1個運行文件,可以方便的拷貝到其他電腦使用,同時不用安裝額外的運行時,Go語言還有一個優勢就是,速度真的非???/p>

簡單入門

安裝
//?1、安裝Go語言程序//?2、安裝Gitgo?get?github.com/360EntSecGroup-Skylar/excelize
創建Excel文檔
package?mainimport?(????"fmt"????"github.com/360EntSecGroup-Skylar/excelize")func?main()?{????f?:=?excelize.NewFile()????//?創建一個工作表????index?:=?f.NewSheet("Sheet2")????//?設置單元格的值????f.SetCellValue("Sheet2",?"A2",?"Hello?world.")????f.SetCellValue("Sheet1",?"B2",?100)????//?設置工作簿的默認工作表????f.SetActiveSheet(index)????//?根據指定路徑保存文件????if?err?:=?f.SaveAs("Book1.xlsx");?err?!=?nil?{????????fmt.Println(err)????}}
讀取Excel文檔
package?mainimport?(????"fmt"????"github.com/360EntSecGroup-Skylar/excelize")func?main()?{????f,?err?:=?excelize.OpenFile("Book1.xlsx")????if?err?!=?nil?{????????fmt.Println(err)????????return????}????//?獲取工作表中指定單元格的值????cell,?err?:=?f.GetCellValue("Sheet1",?"B2")????if?err?!=?nil?{????????fmt.Println(err)????????return????}????fmt.Println(cell)????//?獲取?Sheet1?上所有單元格????rows,?err?:=?f.GetRows("Sheet1")????for?_,?row?:=?range?rows?{????????for?_,?colCell?:=?range?row?{????????????fmt.Print(colCell,?"")????????}????????fmt.Println()????}}

缺點

Go語言本身的錯誤處理真的是太迷了,可以看到每次對象賦值都要聲明err,然后判斷err != nil;同時在數據結構上,Go語言在對二維表(行列)操作時,也會有一點繞

結論

Excelize可以說是國內最好的第三方Excel操作庫,雖然上手會有一點難度,但是在功能的豐富性和較好的運行性能,還是值得一試的

Excelize中文文檔鏈接


Python : Pandas

Pandas是一個強大的分析結構化數據的工具集;它的使用基礎是Numpy(提供高性能的矩陣運算),用于數據挖掘和數據分析。 Pandas中有DataFrame和Series兩個數據類型,就好像Excel的工作表和數據列(轉置后也可以看作:數據行),這就和Excel天生契合

簡單入門

安裝
#?1、?使用conda安裝conda?install?pandas#/2、或者使用pip安裝pip?install?pandas
讀取Excel文檔
import?numpy?as?npimport?pandas?as?pddf?=?pd.read_excel(open('tmp.xlsx',?'rb'),??????????????sheet_name='Sheet3')
輸出Excel文檔
import?numpy?as?npimport?pandas?as?pddf?=?pd.DataFrame([['a',?'b'],?['c',?'d']],???????????????????index=['row?1',?'row?2'],???????????????????columns=['col?1',?'col?2'])df.to_excel("output.xlsx")??

缺點

Pandas在數據處理上是非常方便的,但在文檔外操作,如批量修改工作簿名稱,就需要引入os庫;同時如果已有Excel文檔是帶格式(顏色填充、字體設置、單元格合并等),寫入Excel的時候就會破壞掉原來的格式

同時,Python作為腳本語言,如果到其他電腦運行,需要額外安裝運行環境

結論

如果純粹的處理大批量數據(十萬級以上),pandas自帶各類聚合函數,讓你處理起來得心應手;同時Pandas可以結合matplotlib等第三方繪圖庫,可以方便的可視化數據 如果你的數據本身可以離開Excel,如數據是從數據庫導入Excel,那么也可以直接使用Pandas導入數據庫數據,然后在Pandas上進行分析處理;Pandas底層使用numpy,在矩陣運算中具有非常高的性能

Pandas文檔鏈接


Python : Openpyxl

openpyxl是一個用于讀取/寫入Excel2007及以上版本(即xlsx格式)文件的Python庫,不論是Excel內的特殊格式,還是單元格處理,都提供了相應的函數,與Excelize近乎相當

簡單入門

安裝
pip?install?openpyxl
創建文檔
from?openpyxl?import?Workbookwb?=?Workbook()ws?=?wb.activews.title?=?"新的工作表01"ws.sheet_properties.tabColor?=?"1072BA"wb.save('demo.xlsx')
讀取文檔
from?openpyxl?import?load_workbookwb?=?load_workbook('test.xlsx')print(wb.sheetnames)?

缺點

Openpyxl不像pandas那樣,底層使用numpy,所以在運行速度上,其實要比Excelize和pandas要慢(但是還是要比VBA要快一點);同時也是因為Python作為腳本語言,如果要放到其他電腦運行,需要安裝相應的運行環境

結論

相對來說,Openpyxl與VBA的應用場景重合度會更高一點,處理的思路都是比較相近的;Python在語法上,比VBA要豐富和方便的多,如果需要切換,學習曲線會比較平滑

Openpyxl文檔鏈接

Python : Xlwings

xlwings也是Python操作Excel的第三方庫,很大程度上就是補全Pandas的缺點,可以在方便的處理文檔本身,如修改工作表名稱,將Pandas的數據處理結果調用到Excel原來的文件等

簡單入門

安裝
pip?install?xlwings
創建和讀取Excel文檔
import?xlwings?as?xwwb?=?xw.Book()??wb?=?xw.Book('FileName.xlsx')?#創建一個新的Excel文件wb?=?xw.Book(r'C:pathofile.xlsx')#讀取一個已有的Excel文件sht?=?wb.sheets['Sheet1']sht.range('A1').value?=?'Foo?1'#單元格賦值wb.save()

缺點

在功能上,如文檔格式化等相較Excelize和Openpyxl來說,還是有不少功能沒有實現

結論

xlwings更多的是可以作為xlwings的擴展,學習曲線和Openpyxl也比較相似

xlwings文檔鏈接

其他

其他的還有C#的EPPlus/NPOI;Java的POI,easyExcel;JavaScript的exceljs等,也是不錯的Excel操作庫;但學習曲線更為陡峭,應用場景也更為復雜。如果有一天,厭倦了VBA,但是又不想使用Go和Python,也是可以去嘗試一下的

總結

以上是生活随笔為你收集整理的aspose excel中文文档_除了VBA,还有哪些编程语言可以操作Excel文件?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。