ASP.net读取Excel数据到GridView中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASP.net读取Excel数据到GridView中相关的知识,希望对你有一定的参考价值。
ASP.net将Excel数据上传到服务器,并读取Excel数据到DataTabel,将数据放到GridView中,最好是Q上远程教我。。我Q625427840 教会 给200分
首先创建一个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();
参考技术A 没有那么前面那么复杂
代码==========================
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); //提示对话框
本回答被提问者采纳 参考技术B 你需要 先将 excel 转化为 sql的文件 这是第一步
然后你将数据库文件 读到数据库当中
然后再用 gridview 显示
当中第一步用 导入/导出向导将excel转化为sql即可
C#中gridview已经读取了Excel的数据,但是在主界面上未显示出来
在一个工程里面,有一个主界面,一旦运行这个程序,就生成了一个主界面,操作全部在主界面里。现在我在主界面上定义了一个按钮,只要点击这个按钮就可以把Excel的数据读取到gridview窗口中(这个窗口不在主界面上)。现在执行了程序,在主界面点击这个按钮,但是不能弹出单独的gridview窗口(与主界面相互独立),虽然已经将Excel数据读取到了gridview,但是操作过程始终显示主界面,不能弹出单独的gridview窗口(其中已包含读取的数据),请问用什么语句弹出单独的单独的gridview窗口(其中已包含读取的数据)?
2种方法:1、使用链接,打开新窗口_blank;
2、使用window.open,打开链接地址;
打开的都是另外一个页面,显示gridview用的。 参考技术A BS结构 使用 javascript 控制,
window.open
在 这按钮的 onclientclick DOM事件中控制 参考技术B this.xxx.show() 参考技术C show
showdialog都不行么?
以上是关于ASP.net读取Excel数据到GridView中的主要内容,如果未能解决你的问题,请参考以下文章
C# ASP.NET怎么手动给GridView赋值,不从数据库中读取?