使用FileUpload获取文件名后,不能对文件进行读取(注释部分运行不成功)
protected void Button1_Click(object sender, EventArgs e)
{
GridView1.DataSource = GetExcelTableByOleDB(@"C:\Users\Administrator\Desktop\导入\ma.xlsx");
GridView1.DataBind();
//if (FileUpload1.HasFile)//FileUpload1选择C:\Users\Administrator\Desktop\导入\ma.xlsx的文件
//{
// string fileName = Server.HtmlEncode(FileUpload1.FileName);
// string extension = System.IO.Path.GetExtension(fileName);
// if ((extension == ".xlsx") || (extension == ".xls"))
// {
// GridView1.DataSource = GetExcelTableByOleDB(@"C:\Users\Administrator\Desktop\导入\ma.xlsx");
// GridView1.DataBind();
// }
//}
}
private DataTable GetExcelTableByOleDB(string path)
{
try
{
DataTable dtExcel = new DataTable();
DataSet dst = new DataSet();
string strExtension = System.IO.Path.GetExtension(path);//获取文件后缀名.xlsx
string strFileName = System.IO.Path.GetFileName(path);//获取文件扩展名test.xlsx
//Excel的连接
OleDbConnection objConn = null;
switch (strExtension)
{
case ".xls":
objConn = new OleDbConnection
("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
+ path + ";" +
"Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1;\"");
break;
case ".xlsx":
objConn = new OleDbConnection
("Provider=Microsoft.ACE.OLEDB.12.0;Data Source="
+ path + ";" +
"Extended Properties=\"Excel 12.0;HDR=YES;IMEX=1;\"");
break;
default:
objConn = null;
break;
}
if (objConn == null)
{
return null;
}
objConn.Open();
//获取Excel中所有Sheet表的信息
DataTable schemaTable = objConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
//获取Excel的第一个Sheet表名
string tableName = schemaTable.Rows[0][2].ToString().Trim();
string strSql = "select * from [" + tableName + "]";
//获取Excel指定Sheet表中的信息
OleDbCommand objCmd = new OleDbCommand(strSql, objConn);
OleDbDataAdapter myData = new OleDbDataAdapter(strSql, objConn);
myData.Fill(dst, tableName);//填充数据
objConn.Close();
//dtExcel即为excel文件中指定表中存储的信息
dtExcel = dst.Tables[tableName];
return dtExcel;
}
catch
{
return null;
}
}
{
GridView1.DataSource = GetExcelTableByOleDB(@"C:\Users\Administrator\Desktop\导入\ma.xlsx");
GridView1.DataBind();
//if (FileUpload1.HasFile)//FileUpload1选择C:\Users\Administrator\Desktop\导入\ma.xlsx的文件
//{
// string fileName = Server.HtmlEncode(FileUpload1.FileName);
// string extension = System.IO.Path.GetExtension(fileName);
// if ((extension == ".xlsx") || (extension == ".xls"))
// {
// GridView1.DataSource = GetExcelTableByOleDB(@"C:\Users\Administrator\Desktop\导入\ma.xlsx");
// GridView1.DataBind();
// }
//}
}
private DataTable GetExcelTableByOleDB(string path)
{
try
{
DataTable dtExcel = new DataTable();
DataSet dst = new DataSet();
string strExtension = System.IO.Path.GetExtension(path);//获取文件后缀名.xlsx
string strFileName = System.IO.Path.GetFileName(path);//获取文件扩展名test.xlsx
//Excel的连接
OleDbConnection objConn = null;
switch (strExtension)
{
case ".xls":
objConn = new OleDbConnection
("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
+ path + ";" +
"Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1;\"");
break;
case ".xlsx":
objConn = new OleDbConnection
("Provider=Microsoft.ACE.OLEDB.12.0;Data Source="
+ path + ";" +
"Extended Properties=\"Excel 12.0;HDR=YES;IMEX=1;\"");
break;
default:
objConn = null;
break;
}
if (objConn == null)
{
return null;
}
objConn.Open();
//获取Excel中所有Sheet表的信息
DataTable schemaTable = objConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
//获取Excel的第一个Sheet表名
string tableName = schemaTable.Rows[0][2].ToString().Trim();
string strSql = "select * from [" + tableName + "]";
//获取Excel指定Sheet表中的信息
OleDbCommand objCmd = new OleDbCommand(strSql, objConn);
OleDbDataAdapter myData = new OleDbDataAdapter(strSql, objConn);
myData.Fill(dst, tableName);//填充数据
objConn.Close();
//dtExcel即为excel文件中指定表中存储的信息
dtExcel = dst.Tables[tableName];
return dtExcel;
}
catch
{
return null;
}
}
...全文
相关推荐
使用fileupload组件实现文件上传功能
FileItem对象提供了多种方法,例如:* getFieldName():获取表单项的name的属性值。* getName():获取文件字段的文件名。如果是普通字段,则返回null。
fileupload的使用方法
在按钮的Click事件中,使用FileUpload控件的HasFile属性判断是否选择了文件。如果选择了文件,则可以获取文件的详细信息,例如文件名、文件扩展名、文件大小、文件MIME类型等。3.
updatepanel中不能使用fileupload的弥补方法[IFrame方式]
IFrame 方式来解决 UpdatePanel 中不能使用 FileUpload 的问题。
使用Common-fileUpload 上传文件 读取文件内容
它解析HTTP请求,将多部分的数据分割成单独的部分,这些部分可以是文本或文件。每个部分都表示为`FileItem`对象,我们可以从中获取到文件名、内容类型、大小等信息。1.
fileupload控件的使用
在文件上传过程中,我们可以使用 FileUpload 控件的各种属性来获取文件的详细信息,例如 PostedFile 属性可以获取文件的客户端路径、文件名、文件扩展名、文件大小和文件 MIME 类型等。


