如何使用Excel文件作为c#中的数据源?

时间:2017-08-04 10:16:10

标签: database excel winforms

我想知道如何将现有的Excel文件作为C#中的数据表?

我很容易使用excel文件而不是在c#中创建整个数据表。

或者我在C#中有一个现有的数据表并在那里导入excel文件。

提前谢谢你,

的问候,

Tramyer

1 个答案:

答案 0 :(得分:0)

我建议在Excel文件中使用C#进行数据表结构的“转换”。

首先,您从Excel文件中获取信息:

using Excel = Microsoft.Office.Interop.Excel;
Excel.Application xlApp = new Excel.Application();
Excel.Workbook xlWorkbook = xlApp.Workbooks.Open("somefile.xls");
Excel.Worksheet xlWorksheet = xlWorkbook.Sheets[1]; // assume it is the 
first sheet
Excel.Range xlRange = xlWorksheet.UsedRange; // get the entire used range
int value = 0;
if(Int32.TryParse(xlRange.Cells[1,6].Value2.ToString(), out value)) // get 
the F cell from the first row
{
int numberOfColumnsToRead = value * 4;
for(int col=7; col < (numberOfColumnsToRead + 7); col++)
{
  Console.WriteLine(xlRange.Cells[1,col].Value2.ToString()); // do whatever 
with value
}
}

正如Jetti在此主题中指出的那样(适用于.NET 4):Read data from Excel files

由于我没有测试过该代码,this也可能有所帮助。

在处理细胞值的部分

Console.WriteLine(xlRange.Cells[1,col].Value2.ToString()); // do whatever with value

而不是在控制台中写入,将其添加到数据表结构

DataTable dt = new DataTable();
DataColumn column;
DataRow row;
row["value"] =xlRange.Cells[1,col].Value2.ToString();
dt.Rows.Add(row);