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
Selection.Rows.Count '行数
Selection.Columns.Count '列数
即 起始行 + 总行数 - 1 为 结束行,
...
以上是关于c#如何使用ExcelPackage Plus读取excel(.xls和xlsx)中得数据的主要内容,如果未能解决你的问题,请参考以下文章