如何根据Sheet编号做查询? 在读取 Excel 时,可能会这样:SELECT * FROM [sheet1$]其中,[sheet1$] 表示 Excel 内工作表的名称。现在我的情况是,这个工作表会经常改名,所以我只好根据sheet编号来读取了。但是这个应该怎么写呢?谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public string[] GetExcelSheetName(string p_strFilePath) { OleDbConnection conn = new OleDbConnection(m_strExcelConnectionString + p_strFilePath); try { conn.Open(); DataTable dtSchema = conn.GetOleDbSchemaTable( OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" }); string[] strTableName = new string[dtSchema.Rows.Count]; for (int i = 0; i < dtSchema.Rows.Count; i++) { strTableName[i] = dtSchema.Rows[i]["TABLE_NAME"].ToString(); } return strTableName; } catch (Exception ex) { throw ex; } finally { conn.Close(); } }一个获取sheet名的函数,传入一个Excel文件路径,返回sheet名数组 private Excel.Application m_objExcelApp; //Excelのインスタンスprivate Excel.Workbook m_objExcelWorkBook; //ワークブックのインスタンスprivate Excel.Worksheet m_objExcelWorkSheet; //ワークシートのインスタンスm_objExcelApp = new Excel.Application();m_objExcelWorkBook = m_objExcelApp.Workbooks.Open( p_strExcelFileName, Type.Missing, true,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing, Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing, Type.Missing,Type.Missing);m_objExcelWorkSheet =(Excel.Worksheet)m_objExcelWorkBook.Sheets[1];//取得第一个sheet的实例 再谢谢2楼,我想采用1楼的方法比较好,不用添加Office引用 1 楼请问,我获取的工作表名称是 'sheet1$' ,怎么会有对单引号呢? 不知道为什么,我用的是日文Excel,没你说的问题。就算有单引号去掉也很简单阿 请看语音转换成文字的代码,运行不成功? css问题 判断输入的字符串是一个合法的IP 50分求助一个简单的按钮失效的问题 vc 动态库,传递BYTE*到C#的引用问题 请教一个二叉树递归查询的问题(在线急等C#高人帮忙,非常感谢 文本框与日历控件 XML究竟要学什么东西? 如何提高客户端winform(.net架构、C#开发的程序)访问近1000万条oracle数据库的速度??? 如何从数据库完整得到一个二进制储存的文件信息 谁能给个c#的pattern matching的例子? 关于 byte[] 转 字符串的问题 无法显示
public string[] GetExcelSheetName(string p_strFilePath)
{
OleDbConnection conn = new OleDbConnection(m_strExcelConnectionString + p_strFilePath); try
{
conn.Open(); DataTable dtSchema = conn.GetOleDbSchemaTable(
OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" }); string[] strTableName = new string[dtSchema.Rows.Count]; for (int i = 0; i < dtSchema.Rows.Count; i++)
{
strTableName[i] = dtSchema.Rows[i]["TABLE_NAME"].ToString();
} return strTableName;
}
catch (Exception ex)
{
throw ex;
}
finally
{
conn.Close();
}
}
一个获取sheet名的函数,传入一个Excel文件路径,返回sheet名数组
private Excel.Application m_objExcelApp; //Excelのインスタンス
private Excel.Workbook m_objExcelWorkBook; //ワークブックのインスタンス
private Excel.Worksheet m_objExcelWorkSheet; //ワークシートのインスタンスm_objExcelApp = new Excel.Application();
m_objExcelWorkBook = m_objExcelApp.Workbooks.Open( p_strExcelFileName, Type.Missing,
true,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,
Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,
Type.Missing,Type.Missing);
m_objExcelWorkSheet =(Excel.Worksheet)m_objExcelWorkBook.Sheets[1];//取得第一个sheet的实例