简易C# Excel调用Aspose.Cells

By hi_aardio at 2022-04-25 • 1人收藏 • 1359人看过

Aspose.Cells是我这些天来用过处理excel,调用相对较方便的C# dll,它的好处是方便,不像libxl读和写都需要区分单元格内容的类型,支持直接从excel读取到dataTable,也方便导出excel .正版 需要授权需要收费,使用的话会有水印(不过不影响傅)。 Aspose.Cells相比NPOI 多了模版语法功能,还是很实用的。

对于复杂表格来说,按模板填充好像也是它的特点之一,实际还用不上,没用过。

相关文档见:

https://docs.aspose.com/cells/net/loading-saving-and-managing/#advance-topics


简单调用如下:

import win.ui;
/*DSG{{*/
var winform = win.form(text="aardio form";right=759;bottom=469)
winform.add()
/*}}*/



import console;
console.open();
import dotNet;


var dll = dotNet.load("res\Aspose.Cells.dll"); //调用dll
var wb = dll.new("Aspose.Cells.Workbook"); //用于新建

//两种方法写入单元格内容
wb.Worksheets[1].Cells.Item(1,1).Value = "hello, world"; 

// 创建sheet
var sheet = wb.Worksheets[1];

// 填值
var cell = sheet.Cells.Item["A1"];
cell.PutValue("Hello World!");
//具体计算公式
sheet.Cells.Item["A10"].PutValue(1);
sheet.Cells.Item["B10"].PutValue(1);
sheet.Cells.Item["C10"].Formula = "SUM(A10:B10)";

// 保存文件

wb.Save(io.fullpath("res\test.xlsx"))
wb.Save(io.fullpath("res\我是xls文件.xls")) //保存xls文件




winform.show();
win.loopMessage();
return winform;


6 个回复 | 最后更新于 2022-08-20
2022-04-25   #1

读取excel数据到dataTable

    var tim = time.tick();
    import System.Windows.Forms;
    var Forms = System.Windows.Forms;
    var dataGridView = Forms.CreateEmbed("DataGridView", winform.custom);
    dataGridView.ColumnHeadersHeightSizeMode = 2; //避免在高分屏下错乱 
     
    import System.Type;
    import System.Data;
     
    var dataTable = System.Data.DataTable("DT");
     
    //添加数据
     
    var dll = dotNet.load("res\Aspose.Cells.dll"); //
    var workbook = dll.new("Aspose.Cells.Workbook", "res\示例数据.xlsx");
    var cells = workbook.Worksheets[1].Cells;
     
    var dataTable1 = cells.ExportDataTable(1, 0, cells.MaxDataRow, cells.MaxColumn + 1); //noneTitle
    var dataTable2 = cells.ExportDataTable(0, 0, cells.MaxDataRow + 1, cells.MaxColumn + 1, true); //showTitle
     
    //显示数据
    var dataView = System.Data.DataView(dataTable1);
    dataGridView.DataSource = dataView;
    dataGridView.EditMode = 2;
    console.log("使用aspose花费时间:", (time.tick() - tim) / 1000)


2022-04-25   #2

有模板功能,倒是不错。

还有个ClosedXML貌似听说语法最舒服,可以试试。

2022-04-25   #3

回复#2 @admin :

这个ClosedXML也太友好 了一点吧,直接copy示例就可以使用...

2022-04-26   #4

哈哈终于研究到这个net库,推荐一个可用的licence合集,ldqk.xyz/100?t=uotzlw71x79c

2022-04-26   #5

回复#4 @popy32 :

网站不错!

2022-08-20   #6

回复#2 @admin :

CloseXML有 aar例子嘛

登录后方可回帖

登 录
信息栏
 私人小站

本站域名

ChengXu.XYZ

投诉联系:  popdes@126.com



快速上位机开发学习,本站主要记录了学习过程中遇到的问题和解决办法及上位机代码分享

这里主要专注于学习交流和经验分享.
纯私人站,当笔记本用的,学到哪写到哪.
如果侵权,联系 Popdes@126.com

友情链接
Aardio官方
Aardio资源网


才仁机械


网站地图SiteMap

Loading...