C# 从.xls和.ods文件读取数据
有没有一种方法可以从excel中读取数据并打开office电子表格,然后将其保存到数据集或数组之类的临时存储中?我遇到了一个优秀的数据阅读器(http://exceldatareader.codeplex.com/),但它仅在用户的计算机上安装了Excel时才起作用。我们的一些用户只有开放式Office(其他用户没有) 这里有一个简单的方法,使用(我可以热情推荐的)手动将其转换为C# 从.xls和.ods文件读取数据,c#,asp.net,C#,Asp.net,有没有一种方法可以从excel中读取数据并打开office电子表格,然后将其保存到数据集或数组之类的临时存储中?我遇到了一个优秀的数据阅读器(http://exceldatareader.codeplex.com/),但它仅在用户的计算机上安装了Excel时才起作用。我们的一些用户只有开放式Office(其他用户没有) 这里有一个简单的方法,使用(我可以热情推荐的)手动将其转换为数据表: DataTable tbl = new DataTable(); var pck = new OfficeO
数据表
:
DataTable tbl = new DataTable();
var pck = new OfficeOpenXml.ExcelPackage();
pck.Load(new System.IO.FileInfo(@"C:\Temp\ExcelFile.xlsx").OpenRead());
if (pck.Workbook.Worksheets.Count != 0)
{
var sheet = pck.Workbook.Worksheets.First();
var hasHeader = false; // adjust accordingly '
foreach (var firstRowCell in sheet.Cells[1, 1, 1, sheet.Dimension.End.Column])
{
tbl.Columns.Add(hasHeader ? firstRowCell.Text : string.Format("Column {0}", firstRowCell.Start.Column));
}
var startRow = hasHeader ? 2 : 1;
for (var rowNum = startRow; rowNum <= sheet.Dimension.End.Row; rowNum++)
{
var wsRow = sheet.Cells[rowNum, 1, rowNum, sheet.Dimension.End.Column];
tbl.Rows.Add(wsRow.Select(cell => cell.Text).ToArray());
}
}
DataTable tbl=newdatatable();
var pck=newOfficeOpenXML.ExcelPackage();
Load(new System.IO.FileInfo(@“C:\Temp\ExcelFile.xlsx”).OpenRead();
如果(pck.Workbook.Worksheets.Count!=0)
{
var sheet=pck.Workbook.Worksheets.First();
var hasHeader=false;//相应地调整'
foreach(sheet.Cells[1,1,1,sheet.Dimension.End.Column]中的var firstRowCell)
{
添加(hashreader?firstRowCell.Text:string.Format(“Column{0}”,firstRowCell.Start.Column));
}
var startRow=hasHeader?2:1;
for(var rowNum=startRow;rowNum cell.Text).ToArray();
}
}
最初是我自己发布的(VB.NET)