日期:2014-05-18  浏览次数:21000 次

读取Excel中Sheet名称时出现乱码?(高分,解决立刻结帖)
我用GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });读取EXCEL中SHEET的名称是是乱码,是怎么回事?谢谢!

------解决方案--------------------
楼主,你sheet名称是否用了中文?转成英文试试
------解决方案--------------------
你试试我这个,好用,能读取出来 .
C# code

using System;
using System.Data;
using System.Data.OleDb;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
        test();
    }
    public void test()
    {
        string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\test.xls;Extended Properties=\"Excel 8.0\"";
        System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection(strConn);
        conn.Open();
        DataTable dt = conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null);
        conn.Close();  
    }
}

------解决方案--------------------


试试上面的~

------解决方案--------------------
纯C#代码的Excel读取器(不需要Office Excel Com组件)
zxjing 著于2007-7-18 7:31:28
一个纯C#代码编写的Excel文件读取器,可以读出在工作簿(workbook)中的所有Worksheet,所有WorkSheet中的单元,单元的内容(文本,数字,日期或错误),单元的格式(字体,对齐,线条类型,背景等)够读取文件中的图片,获取图象的大小,位置,数据和格式。