下面是写读取Excel的一段代码
----------------------------------------------------------------
string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = "+openFileDialog1.FileName.ToString()+";Extended Properties=Excel 8.0";
OleDbConnection myConn = new OleDbConnection(strCon);
string strCom = " SELECT * FROM [Sheet1$] ";
myConn.Open();
-----------------------------------------------------------------
这里string strCom = " SELECT * FROM [Sheet1$] ";
Sheet1$这个名字假如变了
比如用户自己改成了 page1
或者用户把内容写在了 Sheet2$ 中
这里改怎么解决这几个问题呢???
解决方案 »
- 大家网站的webconfig文件有没被iframe过!??
- 我想用一DataList显示学生姓名(sName),在模板列用LinkButton与sName绑定,DataKeyField为学号(sNo),当我点LinkButton时,在GridView中
- delphi 调用.net webserver时有时调不通?百思不得其解
- DataGrid執行刪除列,提示:索引超出範圍。必須為非負數且小於集合的大小。參數名稱: index
- Repeater控件的OnItemDataBound事件不能遍历最后一条是为什么
- DataGrid要实现这样的功能,要用到JS,求助?
- 怎样使用iis中的IP地址限制?
- 如何使datagrid某一行变色,并发出15秒声音?
- 如何判断一个dataset中是否包含数据?
- 在asp.net中怎么实现排版的控制?
- asp.net网站给大量客户发送短信用什么短信服务?
- 求救!用asp.net表单保存为图片
String strConnectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;IMEX=1'", serverpath);
OleDbConnection Excel_conn = new OleDbConnection(strConnectionString);
Excel_conn.Open();
DataTable dtExcelSchema = Excel_conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });//建立连接Excel的数据表
string SheetName = "";
SheetName = dtExcelSchema.Rows[0]["TABLE_NAME"].ToString();//取出第一个工作表我名称
Excel_conn.Close(); string query = "SELECT * FROM " + "[" + SheetName + "]";//查询Excel字符串
OleDbDataAdapter oleAdapter = new OleDbDataAdapter(query, Excel_conn);
DataSet myDataSet = new DataSet();
Excel_conn.Open();
oleAdapter.Fill(myDataSet, "Excel_Sheet1");
Excel_conn.Close();
public static string[] GetExcelSheetNames(string FileName)
{
//OleDbConnection objConn = null;
OleDbConnection objConn = new OleDbConnection();
System.Data.DataTable dt = null; try
{
String connString = @"Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + FileName + ";" +
"Extended Properties='Excel 8.0;HDR=YES;IMEX=1;'"; objConn.ConnectionString = connString;
objConn.Open(); dt = objConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); if (dt == null)
{
return null;
} string[] excelSheets = new string[dt.Rows.Count];
int i = 0; // Add the sheet name to the string array.
foreach (DataRow row in dt.Rows)
{
excelSheets[i] = row["TABLE_NAME"].ToString();
i++;
} // Loop through all of the sheets if you want too...
for (int j = 0; j < excelSheets.Length; j++)
{
// Query each excel sheet.
} return excelSheets;
}
catch (Exception ex)
{
return null;
}
finally
{
// Clean up.
if (objConn != null)
{
objConn.Close();
objConn.Dispose();
}
if (dt != null)
{
dt.Dispose();
}
}
} }