1,說明:
先添加COM對像的引用:右擊References => Add Reference => COM => 填加Microsoft Excel 11.0 Object Library
2,程式樣本:
using System.Data;
using Excel = Microsoft.Office.Interop.Excel;//為方便程式引用,起Excel為別名
namespace TEST
{
public class _TEST
{
private DataTable ReadFromXLS(string s_FileName)
{
DataTable dtTemp = new DataTable();
DataColumn column;
column = new DataColumn("MS_PART");
dtTemp.Columns.Add(column);
column = new DataColumn("PART_DESC");
dtTemp.Columns.Add(column);
column = new DataColumn("TYPE");
dtTemp.Columns.Add(column);
column = new DataColumn("STATUS");
dtTemp.Columns.Add(column);
Excel.Application m_xlsApp = null;
Excel.Workbook m_Workbook = null;
Excel.Worksheet m_Worksheet = null;
Excel.Range m_RangeMSPart = null;
Excel.Range m_RangePartDesc = null;
Excel.Range m_RangeType = null;
Excel.Range m_RangeStatus = null;
try
{
object objOpt = System.Reflection.Missing.Value;
m_xlsApp = new Excel.Application();
m_Workbook = m_xlsApp.Workbooks.Open(s_FileName, objOpt, objOpt, objOpt, objOpt, objOpt, objOpt, objOpt, objOpt, objOpt, objOpt, objOpt, objOpt, objOpt, objOpt);
m_Worksheet = (Excel.Worksheet)m_Workbook.Worksheets.get_Item(1);
DataRow newRow;
for (int i = 1; i <= m_Worksheet.UsedRange.Rows.Count; i++)
{
//此種方式取得儲存格也可以
//m_RangeMSPart = (Excel.Range)m_Worksheet.Cells[i, 1];
//m_RangePartDesc = (Excel.Range)m_Worksheet.Cells[i, 2];
//m_RangeType = (Excel.Range)m_Worksheet.Cells[i, 3];
//m_RangeStatus = (Excel.Range)m_Worksheet.Cells[i, 4];
m_RangeMSPart = m_Worksheet.get_Range("A" + i.ToString(), objOpt);
m_RangePartDesc = m_Worksheet.get_Range("B" + i.ToString(), objOpt);
m_RangeType = m_Worksheet.get_Range("C" + i.ToString(), objOpt);
m_RangeStatus = m_Worksheet.get_Range("D" + i.ToString(), objOpt);
newRow = dtTemp.NewRow();
newRow["MS_PART"] = m_RangeMSPart.Value2.ToString();
newRow["PART_DESC"] = m_RangePartDesc.Value2.ToString();
newRow["TYPE"] = m_RangeType.Value2.ToString();
newRow["STATUS"] = m_RangeStatus.Value2.ToString();
dtTemp.Rows.Add(newRow);
}
}
catch (Exception exc)
{
throw exc;
}
finally
{
m_xlsApp.Quit();
m_xlsApp = null;
}
return dtTemp;
}
}
}