sirili 发表于 2012-12-10 13:20:10

.NET C#读取Excel内容

<div id="cnblogs_post_body"><div class="cnblogs_Highlighter">1,Excel 需是.xls 格式
2,添加引用Microsoft.Office.Interop.Excel.dll

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Data.OleDb;using Excel = Microsoft.Office.Interop.Excel;using System.Diagnostics;namespace ReadExcel{    class Program    {      static void Main(string[] args)      {            string fileName = @"D:\TransferPlant\111.xls";            DataTable dt = ExcelToDataSet(fileName);            if (dt.Rows.Count > 0)            {                for (int i = 0; i < dt.Rows.Count; i++)                {                  Console.WriteLine(dt.Rows.ToString());                }            }      }      static public DataTable ExcelToDataSet(string filename)      {            string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = "+filename+";Extended Properties=Excel 8.0";            OleDbConnection conn = new OleDbConnection(strCon);            conn.Open();            //返回Excel的架构,包括各个sheet表的名称,类型,创建时间和修改时间等             DataTable dtSheetName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" });            //包含excel中表名的字符串数组            string[] strTableNames = new string;            for (int k = 0; k < dtSheetName.Rows.Count; k++)            {                strTableNames = dtSheetName.Rows["TABLE_NAME"].ToString();            }            OleDbDataAdapter myCommand = null;            DataTable dt = new DataTable();            //从指定的表明查询数据,可先把所有表明列出来供用户选择            string strExcel = "select * from [" + strTableNames + "]";            myCommand = new OleDbDataAdapter(strExcel, strCon);            myCommand.Fill(dt);            return dt;      }    }}
页: [1]
查看完整版本: .NET C#读取Excel内容