ASP.net读取Excel数据到GridView中
ASP.net将Excel数据上传到服务器,并读取Excel数据到DataTabel,将数据放到GridView中,最好是Q上远程教我。。我Q625427840教会给20...
ASP.net将Excel数据上传到服务器,并读取Excel数据到DataTabel,将数据放到GridView中,最好是Q上远程教我。。我Q625427840 教会 给200分
展开
3个回答
展开全部
首先创建一个aspx文件,在页面中加入一个Button和一个DataGrid控件。
在工程的引用中添加Excel引用,并将测试的电子表格文件放到D盘中。
在CS文件中的Button1_Click事件中输入如下代码:
private void Button1_Click(object sender, System.EventArgs e)
{
string excelFilePath=@"D:\Book1.xls";//D:\Book1.xls为文件路径
Excel.Application myExcel=new Excel.ApplicationClass( ) ;
object oMissing = System.Reflection.Missing.Value ;
myExcel.Application.Workbooks.Open(excelFilePath,oMissing,oMissing,oMissing,oMissing,oMissing, oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing) ;
Excel.Workbook myBook = myExcel.Workbooks[1] ;
Excel.Worksheet mySheet = (Excel.Worksheet)myBook.Worksheets[1] ;
System.Data.DataTable dt=new System.Data.DataTable("mytable");
dt.Columns.Add("F1", System.Type.GetType("System.String"));
dt.Columns.Add("F2", System.Type.GetType("System.String"));
dt.Columns.Add("F3", System.Type.GetType("System.String"));
dt.Columns.Add("F4", System.Type.GetType("System.String"));
dt.Columns.Add("F5", System.Type.GetType("System.String"));
DataSet myDs = new DataSet();
myDs.Tables.Add(dt);
DataRow myRow;
myDs.Clear();
for( int i = 2 ; i <= 4 ; i ++ ) //第一行为标题,不读取
{
myRow = myDs.Tables["mytable"].NewRow();
for( int j = 1 ; j <= 5 ; j ++ )
{
Excel.Range r=(Excel.Range)mySheet.Cells[i,j];
string strValue=r.Text.ToString();
string aa=strValue;
string columnname="F"+j.ToString();
myRow[columnname]=strValue;
}
myDs.Tables["mytable"].Rows.Add(myRow);
}
DataGrid1.DataSource=myDs.Tables["mytable"].DefaultView;
DataGrid1.DataBind();
}
在工程的引用中添加Excel引用,并将测试的电子表格文件放到D盘中。
在CS文件中的Button1_Click事件中输入如下代码:
private void Button1_Click(object sender, System.EventArgs e)
{
string excelFilePath=@"D:\Book1.xls";//D:\Book1.xls为文件路径
Excel.Application myExcel=new Excel.ApplicationClass( ) ;
object oMissing = System.Reflection.Missing.Value ;
myExcel.Application.Workbooks.Open(excelFilePath,oMissing,oMissing,oMissing,oMissing,oMissing, oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing) ;
Excel.Workbook myBook = myExcel.Workbooks[1] ;
Excel.Worksheet mySheet = (Excel.Worksheet)myBook.Worksheets[1] ;
System.Data.DataTable dt=new System.Data.DataTable("mytable");
dt.Columns.Add("F1", System.Type.GetType("System.String"));
dt.Columns.Add("F2", System.Type.GetType("System.String"));
dt.Columns.Add("F3", System.Type.GetType("System.String"));
dt.Columns.Add("F4", System.Type.GetType("System.String"));
dt.Columns.Add("F5", System.Type.GetType("System.String"));
DataSet myDs = new DataSet();
myDs.Tables.Add(dt);
DataRow myRow;
myDs.Clear();
for( int i = 2 ; i <= 4 ; i ++ ) //第一行为标题,不读取
{
myRow = myDs.Tables["mytable"].NewRow();
for( int j = 1 ; j <= 5 ; j ++ )
{
Excel.Range r=(Excel.Range)mySheet.Cells[i,j];
string strValue=r.Text.ToString();
string aa=strValue;
string columnname="F"+j.ToString();
myRow[columnname]=strValue;
}
myDs.Tables["mytable"].Rows.Add(myRow);
}
DataGrid1.DataSource=myDs.Tables["mytable"].DefaultView;
DataGrid1.DataBind();
}
展开全部
没有那么前面那么复杂
代码==========================
try
{
//生成连接Excel数据表格的字符串
string strOdbcCon = @"Provider=Microsoft.ACE.OLEDB.12.0; Persist Security Info=False;Data Source=Book1.xlsx; Extended Properties=Excel 8.0";
//定义OleDbConnection对象实例并连接Excel表格
OleDbConnection OleDB = new OleDbConnection(strOdbcCon);
//定义OleDbDataAdapter对象实例并调用Select查询语句提取Excel数据信息
OleDbDataAdapter OleDat = new OleDbDataAdapter("select * from [Sheet1$]", OleDB);
DataTable dt = new DataTable(); //定义DataTable对象实例
OleDat.Fill(dt); //调用Fill方法
//连接数据表格,显示数据
this.dataGridView1.DataSource = dt.DefaultView;
}
catch (Exception ey)
{
MessageBox.Show(ey.Message); //提示对话框
}
代码==========================
try
{
//生成连接Excel数据表格的字符串
string strOdbcCon = @"Provider=Microsoft.ACE.OLEDB.12.0; Persist Security Info=False;Data Source=Book1.xlsx; Extended Properties=Excel 8.0";
//定义OleDbConnection对象实例并连接Excel表格
OleDbConnection OleDB = new OleDbConnection(strOdbcCon);
//定义OleDbDataAdapter对象实例并调用Select查询语句提取Excel数据信息
OleDbDataAdapter OleDat = new OleDbDataAdapter("select * from [Sheet1$]", OleDB);
DataTable dt = new DataTable(); //定义DataTable对象实例
OleDat.Fill(dt); //调用Fill方法
//连接数据表格,显示数据
this.dataGridView1.DataSource = dt.DefaultView;
}
catch (Exception ey)
{
MessageBox.Show(ey.Message); //提示对话框
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你需要 先将 excel 转化为 sql的文件 这是第一步
然后你将数据库文件 读到数据库当中
然后再用 gridview 显示
当中第一步用 导入/导出向导将excel转化为sql即可
然后你将数据库文件 读到数据库当中
然后再用 gridview 显示
当中第一步用 导入/导出向导将excel转化为sql即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询