c#如何使用ExcelPackage Plus读取excel(.xls和xlsx)中得数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#如何使用ExcelPackage Plus读取excel(.xls和xlsx)中得数据相关的知识,希望对你有一定的参考价值。

参考技术A ExcelPackage Plus是ExcelPackage的增强版,它在ExcelPackage的基础上,增强了许多功能包括对流、Linq的支持,可以说相当不错。
它的索引号是从1开始的,主要使用的类型位于OfficeOpenXml空间,具体测试代码如下:

MemoryStream CreateByExcelLibrary(DataTable table)

using(ExcelPackage package = newExcelPackage())

ExcelWorksheet sheet = package.Workbook.Worksheets.Add("sheet111"); intcolCount = table.Columns.Count;
for(inti = 0; i < colCount; i++)

sheet.Cells[1, i + 1].Value = table.Columns[i].Caption;

intk = 2;
foreach(DataRow row intable.Rows)

for(inti = 0; i < colCount; i++)

sheet.Cells[k, i + 1].Value = row[i];

k++;

MemoryStream ms = newMemoryStream();
package.SaveAs(ms);
returnms;

DataTable ReadByExcelLibrary(Stream xlsStream)

DataTable table = newDataTable();
using(ExcelPackage package = newExcelPackage(xlsStream))

ExcelWorksheet sheet = package.Workbook.Worksheets[1];
intcolCount = sheet.Dimension.End.Column;
introwCount = sheet.Dimension.End.Row;
for(ushortj = 1; j <= colCount; j++)

table.Columns.Add(newDataColumn(sheet.Cells[1, j].Value.ToString()));

for(ushorti = 2; i <= rowCount; i++)

DataRow row = table.NewRow();
for(ushortj = 1; j <= colCount; j++)

row[j - 1] = sheet.Cells[i, j].Value;

table.Rows.Add(row);


returntable;
追问

这段代码我也找到了,
using (ExcelPackage package = new ExcelPackage()) 这句就是错得把,要求有参数得。有其他的例子么?

追答

知道错误了,就设断点调试下。这样会记忆深刻的。。。。。。。。。不断的尝试、不断的失败,那最后的成功才会越值得满足。。。。。

追问

好吧,只是我还看的有点懵,是我研究得不够透彻把。你说话好像我领导呀

本回答被提问者采纳

VB 如何读取 Excel 所有列和行

以下代码可以读取Excel默认选择的表格:但如何获得表格到底有多少的列数和行数?? Dim ap As Excel.Application
Dim bk As Excel.Workbook
Dim st As Excel.Worksheet
Set ap = CreateObject("Excel.Application")
Set bk = ap.Workbooks.Open("D:\练卡表.xls")'需要读取的表格
Set st = bk.Worksheets(1)'工作表
Rem 求选定区域的起始终止行列()
Dim mTop, mLeft, mRight, mButtom
'st.UsedRange.Select'使用该句可选定D:\try.xls的Sheet1的UsedRange,否则显示其已有的选定区域
mTop = Selection.Row '起始行
mLeft = Selection.Column '起始列
mButtom = mTop + Selection.Rows.Count - 1 '结束行
mRight = mLeft + Selection.Columns.Count - 1 '结束列
MsgBox ("起始行:" & mTop & Chr(13) & "起始列:" & mLeft & Chr(13) & "终止行:" & mButtom & Chr(13) & "终止列:" & mRight)
bk.Close

参考技术A 代码中已经写好了呀:
Selection.Rows.Count '行数
Selection.Columns.Count '列数

即 起始行 + 总行数 - 1 为 结束行,
...

以上是关于c#如何使用ExcelPackage Plus读取excel(.xls和xlsx)中得数据的主要内容,如果未能解决你的问题,请参考以下文章

C#怎么读取Excel的数据

C#读取大数据量Excel,60W行数据,该怎么处理

C# 创建/修改/读取 .xlsx 文件

C#从Excel中读取数据为空了,该怎么解决啊?

如何在C#中使用EPPlus设置xlsx单元格宽度

VB中如何读取Excel中的数据