怎么取得excle里的表和列名称

mywindyboy 2005-06-02 11:01:10
如果用户把excle里的表名称改成“stu”
那我在使用sql语句的时候就不能用“select * from [sheet1$]"啦,这时候应该怎么写这条语句呢?
另外,如果要取其中某几列是不是就直接用"select A,B,C,D from [sheet1$]"阿?
...全文
121 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
mywindyboy 2005-06-02
  • 打赏
  • 举报
回复
哦,我是用参数的方法叫用户输入表名,的确土了一点,谢谢。
机器人 2005-06-02
  • 打赏
  • 举报
回复
不错,2楼的正确,我试了可以。
string strConn = "Provider=Microsoft.Jet.OleDb.4.0;";
strConn += "data source=" + this.txtFilePath.Text.Trim() + ";";
strConn += "Extended Properties=Excel 8.0;";
//strConn += "HDR=Yes;IMEX=1";

OleDbConnection objConn = new OleDbConnection(strConn);

try
{
objConn.Open();

DataTable FromExcel = objConn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables,new object[]{null,null,null,"TABLE"});

//this.dataGrid1.DataSource = FromExcel;

string SheetName="";
for(int i=0;i<FromExcel.Rows.Count;i++)
{
DataRow TempRow=FromExcel.Rows[i];
SheetName=TempRow["TABLE_NAME"].ToString();
MessageBox.Show(SheetName);
}
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
objConn.Close();
}
powerllr 2005-06-02
  • 打赏
  • 举报
回复
错了!楼上!HOHOHO
powerllr 2005-06-02
  • 打赏
  • 举报
回复
楼主正解!
zdliang 2005-06-02
  • 打赏
  • 举报
回复
看了你的另外一个帖子,你有没有想过如果用户再把stu改了你的程序不是还要变吗
给你办法

string mystring="Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = '"+FileName+"';Extended Properties=Excel 8.0";
OleDbConnection cnnxls = new OleDbConnection (mystring);
cnnxls.Open();
DataTable FromExcel=cnnxls.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables,new object[]{null,null,null,"TABLE"});
string TableName=FromExcel.TableName;
int RowCount=FromExcel.Rows.Count;
string SheetName="";
for(int i=0;i<RowCount;i++)
{
DataRow TempRow=FromExcel.Rows[i];
SheetName=TempRow[2].ToString();
}

TempRow第二列里面的值就是sheet的名字,RowCount的值就是sheet的个数
得到了这两个以后,剩下的就是和普通的一样的做法了

OleDbDataAdapter myDa =new OleDbDataAdapter("select * from ["+SheetName+"]",cnnxls);
DataSet myDs =new DataSet();
myDa.Fill(myDs,Test);

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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