用asp、php或html读取excel 数据并显示在当前网页上
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用asp、php或html读取excel 数据并显示在当前网页上相关的知识,希望对你有一定的参考价值。
用asp、php或html读取excel 数据并显示在当前网页上
将excel文件作为数据源,如通过oledb连接方式,读取时,一个工作表等同于一个table数据表,循环读取即可 参考技术A ydhfstfdd哥德行政策划出来说道德兰人生存放松开发现在这个个儿时期限期刊载入口气功能为主任 参考技术B 夜鹰教程网《asp.net编程技巧范例大全》里面有讲解asp.net导入导出标准excel的视频教程。 其他语言的估计类似吧,我是学.net的。能帮助你的就这么多了,加油。 参考技术C excelReader是一个读取excel的类,网上搜一下就有了ASP.NET读取excel数据问题
我在ASP.NET中读取excel文件,按下按钮将表格每列第一行(列名)加入DropDownList:
protected void Button3_Click(object sender, EventArgs e)
string path = File1.Value;
DropDownList2.Items.Clear();
string strConn = "Provider=Microsoft.Ace.OLEDB.12.0;" + "Data Source=" + path + ";" + "Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'";
OleDbDataAdapter oada = new OleDbDataAdapter("select * from [Sheet1$]", strConn);
oada.Fill(ds);
for (int i = 0; i < ds.Tables[0].Columns.Count - 2; i++) // 把表中每一列的列名加入DropDownList2
DropDownList2.Items.Add(ds.Tables[0].Columns[i ].ColumnName);
然后从DropDownList2中选择某一项,点击另一个按钮把对应excel表格中那一列数据存入数组:
protected void Button4_Click(object sender, EventArgs e)
string path = File1.Value;
string strConn = "Provider=Microsoft.Ace.OLEDB.12.0;" + "Data Source=" + path + ";" + "Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'";
OleDbDataAdapter oada = new OleDbDataAdapter("select * from [Sheet1$]", strConn); //读取表格数据
oada.Fill(ds);
int j = DropDownList2.SelectedIndex;
for (int i = 0; i < 40; i++)
Count[i] = Convert.ToInt32(ds.Tables[0].Rows[i][j + 2]); //把表格中数据读入数组
点击Button4之后,oada.Fill(ds)这句报错,提示‘system.Data.Oledb.OleDbException, Invalid argument’
求教高手这是什么原因?谢谢。
string f_name = System.DateTime.Now.ToString("yyyyMMddHHmmss");
f_folder = Server.MapPath("/upfile/" + f_name + ".xls");
this.FileUpload1.PostedFile.SaveAs(f_folder);//文档保存到服务器
string sheetname = f_name;
//dt为Excel转换Table的所有内容
dt = ExcelDataSource(f_folder, "Sheet1");
string name1=dt.Rows[0]["列名1"].ToString();
string name2=dt.Rows[1]["列名2"].ToString();
/// <summary>
/// 导入Excel
/// </summary>
/// <param name="filepath"></param>
/// <param name="sheetname"></param>
/// <returns></returns>
public DataTable ExcelDataSource(string filepath, string sheetname)
string strConn = String.Empty;
if (System.IO.Path.GetExtension(filepath).Equals(".xlsx"))
strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties='Excel 12.0;HDR=YES';data source=" + filepath;
else if (System.IO.Path.GetExtension(filepath).Equals(".xls"))
strConn = "Provider=Microsoft.Ace.OleDb.12.0;" + "data source=" + filepath + ";Extended Properties='Excel 12.0; HDR=Yes; IMEX=1'";
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
DataTable dtSheetName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] null, null, null, "Table" );
//包含excel中表名的字符串数组
string[] strTableNames = new string[dtSheetName.Rows.Count];
for (int k = 0; k < dtSheetName.Rows.Count; k++)
strTableNames[k] = dtSheetName.Rows[k]["TABLE_NAME"].ToString();
OleDbDataAdapter myCommand = null;
DataTable dt = new DataTable();
//从指定的表明查询数据,可先把所有表明列出来供用户选择
string strExcel = "select * from [" + strTableNames[0] + "]";
myCommand = new OleDbDataAdapter(strExcel, strConn);
dt = new DataTable();
myCommand.Fill(dt);
return dt;
参考技术A 第二段开始加句这个试试。
ds=null; 参考技术B strconn打开了吗?Fill的时候最好先判断下是否为null 参考技术C 是你上一句数据库连接的问题,查看下连接语句,是否有误。追问
点击button3,dropdownlist可以正常添加内容,button4里面是同样的连接语句,麻烦问下有什么问题?谢谢。
以上是关于用asp、php或html读取excel 数据并显示在当前网页上的主要内容,如果未能解决你的问题,请参考以下文章
怎样将EXCEL嵌入ASP.net网页中,象ASP下的VBA一样的效果,并将数据库的数据读取到EXCEL中?