读取Excel中Sheet名称时出现乱码?(高分,解决立刻结帖)

kittenlpf 2007-10-15 02:57:17
我用GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });读取EXCEL中SHEET的名称是是乱码,是怎么回事?谢谢!
...全文
597 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
REMEX1980 2007-10-22
  • 打赏
  • 举报
回复
纯C#代码的Excel读取器(不需要Office Excel Com组件)
zxjing 著于2007-7-18 7:31:28
一个纯C#代码编写的Excel文件读取器,可以读出在工作簿(workbook)中的所有Worksheet,所有WorkSheet中的单元,单元的内容(文本,数字,日期或错误),单元的格式(字体,对齐,线条类型,背景等)够读取文件中的图片,获取图象的大小,位置,数据和格式。
sqllong 2007-10-20
  • 打赏
  • 举报
回复
读取excel中sheet(工作簿)名称

private void btnsheet_Click(object sender, EventArgs e)
{
try
{
if (dialog.ShowDialog() == DialogResult.OK)
{
textBox1.Text = dialog.FileName;
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + textBox1.Text + ";Extended Properties=Excel 8.0;";
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
System.Data.DataTable schemaTable = conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
cbboxsheet.Items.Clear();
for (int i = 0; i < schemaTable.Rows.Count; i++)
{
cbboxsheet.Items.Add(schemaTable.Rows[i]["TABLE_NAME"].ToString());
}
conn.Close();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString(), "Sanertable", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
biglazy 2007-10-20
  • 打赏
  • 举报
回复


试试上面的~
消瘦的锁骨浩 2007-10-20
  • 打赏
  • 举报
回复
你试试我这个,好用,能读取出来 .

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();
}
}

九章落地 2007-10-16
  • 打赏
  • 举报
回复
楼主,你sheet名称是否用了中文?转成英文试试

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧