C# EPPlus.dll操作Excel

By hi_aardio at 2022-03-23 • 0人收藏 • 390人看过

PPlus是一个使用Open Office XML(xlsx)文件格式,能读写Excel 2007/2010,不支持2003版本的Excel。
文件的开源组件,在导出Excel的时候不需要电脑上安装office。官网地址:http://epplus.codeplex.com/


import win.ui;
/*DSG{{*/
mainForm = win.form(text = "测试EPPlus使用Excel应用"; right = 959; bottom = 591)
mainForm.add()
/*}}*/

import console;
import dotNet;

console.open()

dll = dotNet.loadFile("res/EPPlus.dll")
officeOpenXml_1 = dll.import("OfficeOpenXml")

var package = officeOpenXml_1.ExcelPackage(io.fullpath("\MyTemplate.xlsx"));
//获取sheet名
var worksheet = package.Workbook.Worksheets[1];
console.log("sheet名:", worksheet)

//获取表格的列数和行数

var rowCount = worksheet.Dimension.Rows;
var colCount = worksheet.Dimension.Columns;
console.log("rowCount:", rowCount)
console.log("colCount:", colCount)

//循环读取表格
for (row = 1; rowCount; 1) {
    // 具体的获取数据
    console.log(worksheet.Cells.Item(row, 1).Value)

}

//添加sheet
//var worksheet_add = package.Workbook.Worksheets.Add("核桃及阿紫")

//设定sheet值 公式
worksheet.Cells.Item(1, 1).Value = "我是增加的11"; //直接指定行列数进行赋值
worksheet.Cells.Item("B3").Value = "你是B3"; //直接指定单元格进行赋值

worksheet.Cells.Item("J3").Formula = "AVERAGE(J1, J2)"

//设置单元格格式
worksheet.Cells.Item("E1").Style.Numberformat.Format = "#,##0.00"; //这是保留两位小数

//设置对齐方式
worksheet.Cells.Style.WrapText = true; //自动换行

//设置单元格字体样式
worksheet.Cells.Item("E4").Style.Font.Bold = true; //字体为粗体
worksheet.Cells.Item("E6").Style.Font.Name = "微软雅黑"; //字体
worksheet.Cells.Item("E7").Style.Font.Size = 12; //字体大小

//设置单元格的行高和列宽
worksheet.Cells.Style.ShrinkToFit = true; //单元格自动适应大小
worksheet.Row(1).Height = 15; //设置行高
worksheet.Row(1).CustomHeight = true; //自动调整行高
worksheet.Column(1).Width = 15; //设置列宽

//设置sheet背景
worksheet.View.ShowGridLines = false; //去掉sheet的网格线

package.Save(); //Save the workbook

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




7 个回复 | 最后更新于 2022-03-24
2022-03-23   #1

res_dll.rar

EPPlus.dll 打包

2022-03-23   #2

以前老是惦记这个epplus

2022-03-23   #3

感谢分享,这个不错

2022-03-23   #4

能调用excel的模块越来越多了,赞!

2022-03-24   #5

回复#1 @hi_aardio :

现在不用合并程序集了,这样写即可

import console; 
console.open();

import dotNet;
dotNet.reference({
	["OfficeOpenXml"] = "res\EPPlus.dll";
	["Microsoft.IO.RecyclableMemoryStream"] = "res\Microsoft.IO.RecyclableMemoryStream.dll";

});

OfficeOpenXml = dotNet.import("OfficeOpenXml");

var package = OfficeOpenXml.ExcelPackage(io.fullpath("\MyTemplate.xlsx"));
var worksheet = package.Workbook.Worksheets[1];
console.log("sheet名:", worksheet)

console.pause(true);

依赖包加上就行。

2022-03-24   #6


2022-03-24   #7

你(¬︿̫̿¬☆)heng

登录后方可回帖

登 录
信息栏
公告:
私人站, 专注分享, 可在分享中适当提问, 但谢绝纯提问, 否则不再提醒一律删帖, 谢谢合作!



本站域名:HtmLayout.Cn
aardio可以快速开发上位机,本站主要记录了学习过程中遇到的问题和解决办法及aardio代码分享

这里主要专注于aardio学习交流和经验分享.
纯私人站,当笔记本用的,学到哪写到哪.

Aardio 官方站:Aardio官方
Aardio最新功能:Aardio官方更新日志
本 站 主 站:Stm32cube中文网
Sciter中文在线文档Sciter在线学习文档
空间赞助:才仁机械
Loading...