博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vs.net2010 操作 Excel2003 与 Excel2007
阅读量:6709 次
发布时间:2019-06-25

本文共 2363 字,大约阅读时间需要 7 分钟。

读取 Excel 数据

 

using System.Data.OleDb;
using System.Data;
 
public 
void ReadExcelFiless()
        {
            
//
string strConn  = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" + Server.MapPath("ExcelFiles/MyExcelFile.xls") + ";Extended Properties=Excel 8.0";
//
此连接只能操作Excel2007 前的.xls 文件
            
//
string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + Server.MapPath("ExcelFiles/MyExcelFile.xls") + ";Extended Properties='Excel 8.0; HDR=NO; IMEX=1'"; 
//
此连接只能操作Excel2007之前(.xls)文件
            
string strConn = 
"
Provider=Microsoft.Ace.OleDb.12.0;
" + 
"
data source=
" + Server.MapPath(
"
ExcelFiles/Mydata2007.xlsx
") + 
"
;Extended Properties='Excel 12.0; HDR=NO; IMEX=1'
"
//
此连接可以操作.xls与.xlsx文件
            OleDbConnection conn = 
new OleDbConnection(strConn);
            OleDbDataAdapter adp = 
new OleDbDataAdapter(
"
Select * from [Sheet1$]
", conn);
            DataSet ds = 
new DataSet();
            adp.Fill(ds, 
"
Book1
");
            
this.GridView1.DataSource = ds.Tables[
"
Book1
"].DefaultView;
            
this.GridView1.DataBind(); 
        }

 操作Excel 2007 文件时,如出现

“未在本地计算机上注册“Microsoft.Ace.OleDb.12.0”提供程序” 错误,则需

下载。然后安装就行了。

导出数据到 Excel

 

 

using System.IO;
protected 
void Button1_Click(
object sender, EventArgs e)
        {
            DisableControls(GridView1);
            Response.ClearContent();
            Response.AddHeader(
"
content-disposition
"
"
attachment; filename=MyExcelFile2011.xls
");
//
导出Excel200, Excel2003格式
            
//
Response.AddHeader("content-disposition", "attachment; filename=MyExcelFile2011.xlsx");
//
导出 Excel2007格式
            Response.ContentType = 
"
application/excel
";
            StringWriter sw = 
new StringWriter();
            HtmlTextWriter htw = 
new HtmlTextWriter(sw);
            
this.GridView1.RenderControl(htw);
            Response.Write(sw.ToString());
            Response.End(); 
        }
        
public 
override 
void VerifyRenderingInServerForm(Control control)
        {
        }
        
private 
void DisableControls(Control gv)
        {
            LinkButton lb = 
new LinkButton();
            Literal l = 
new Literal();
            
string name = String.Empty;
            
for (
int i = 
0; i < gv.Controls.Count; i++)
            {
                
if (gv.Controls[i].GetType() == 
typeof(LinkButton))
                {
                    l.Text = (gv.Controls[i] 
as LinkButton).Text;
                    gv.Controls.Remove(gv.Controls[i]);
                    gv.Controls.AddAt(i, l);
                }
                
else 
if (gv.Controls[i].GetType() == 
typeof(DropDownList))
                {
                    l.Text = (gv.Controls[i] 
as DropDownList).SelectedItem.Text;
                    gv.Controls.Remove(gv.Controls[i]);
                    gv.Controls.AddAt(i, l);
                }
                
if (gv.Controls[i].HasControls())
                {
                    DisableControls(gv.Controls[i]);
                }
            }
        }

 

 

 

转载于:https://www.cnblogs.com/tiger8000/archive/2011/10/08/2201743.html

你可能感兴趣的文章
高内聚低耦合
查看>>
Codeforces Round #239 (Div. 1) 解题报告
查看>>
R与JAVA的混合编程
查看>>
hibernate工作流程、session
查看>>
python_时间日期
查看>>
MVC架构介绍-序列化属性
查看>>
问题2017S02
查看>>
用合适的索引避免不必要的全表扫描
查看>>
Ajax上传文件
查看>>
445. Add Two Numbers II - Medium
查看>>
系统集成项目管理(九)
查看>>
C# 面向对象基础
查看>>
初学Python(七)——控制语句
查看>>
web前端学习,几种浏览器存储数据的方式,平常遇到的一些问题(一)
查看>>
机器学习算法 --- Pruning (decision trees) & Random Forest Algorithm
查看>>
NOIp 基础数论知识点总结
查看>>
前段页面性能标准
查看>>
地理配准工具条为灰色
查看>>
Python_装饰器精讲_33
查看>>
Python-Requests库详解
查看>>