.NET操作Excel

一.读取Excel数据,并显示

1.配置文件

<configuration>
    <system.web>
        <compilation debug="true" targetFramework="4.0" />
    </system.web>
  <appSettings>
    <!--连接03版本的-->
    <!--<add key="SQLCONNECTIONSTRING" value="Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;Data Source="/>
    <add key="DBPATH" value="App_Data\username.xls"/>-->
   
    <!--连接07版本的-->
    <add key="SQLCONNECTIONSTRING" value="Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0 Xml;Data Source=" />
    <add key="DBPATH" value="App_Data\usernames.xlsx"/>
    <!--连接07access数据库-->
    <add key="OLEDBCONNECTIONSTRING" value="Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Access 12.0 Xml;Data Source=" />
    <!--<add key="DBPATH" value="App_Data\username.accdb"/>-->
    <!--使用.net生成Excel表格-->
    <add key="SQLCONNECTIONSTR" value="data source=.;uid=sa;pwd=123456;database=students;pooling=true"/>
  </appSettings>
</configuration>

2.

using System;
using System.Configuration;
using System.Data;
using System.Data.OleDb;

namespace WebApplication
{
    public partial class MyExcelToDG : System.Web.UI.Page
    {
        private readonly string SQLCONNECTIONSTRING = ConfigurationManager.AppSettings["SQLCONNECTIONSTRING"].ToString();
        private readonly string DBPATH = ConfigurationManager.AppSettings["DBPATH"].ToString();
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                GridView1.DataSource = CreateDataSource();
                GridView1.DataBind();
            }
        }

        private DataSet CreateDataSource()
        {
            //设置Excel的文件访问地址
            String ExcelDBPath = SQLCONNECTIONSTRING + Server.MapPath(DBPATH) + ";";
            //定义访问Excel文件的连接
            OleDbConnection conn = new OleDbConnection(ExcelDBPath);
            //OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM[username$]",conn);
            OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM students", conn);
            DataSet ds = new DataSet();
            da.Fill(ds);
            return ds;
        }
    }
}

 

 

 

 

二.将sqlserver中的数据导出到Excel中

using System;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;

namespace WebApplication
{
    public partial class MyDataToExcel : System.Web.UI.Page
    {
        private readonly string SQLCONNECTIONSTR = ConfigurationManager.AppSettings["SQLCONNECTIONSTR"].ToString();
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                //创建Excel文件

                try
                {
                    CreateExcelTable();
                    Response.Write("<script>alert('成功导出!')</script>");
                }
                catch (Exception)
                {
                    Response.Write("<script>alert('发生错误!')</script>");
                }
            }
        }
        //获取数据
        private DataSet GetData()
        {
            //从数据库中获取数据
            String cmdText = "Select * from Student_Info";
            using (SqlConnection conn = new SqlConnection(SQLCONNECTIONSTR))
            {
                SqlDataAdapter da = new SqlDataAdapter(cmdText, conn);
                conn.Open();
                DataSet ds = new DataSet();
                da.Fill(ds);
                return (ds);
            }
        }

        //创建Excel文件
        private void CreateExcelTable()
        {
            //从数据库获取数据
            DataSet ds = GetData();
            //创建Excel对象
            Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
            //设置行和列的索引
            int rowIndex = 1;
            int collndex = 0;
            //添加Excel对象的WorkBooks
            excel.Application.Workbooks.Add(true);
            System.Data.DataTable table = ds.Tables[0];
            //将所得到的表的列名,赋给单元格
            foreach (DataColumn col in table.Columns)
            {
                //添加列名
                collndex++;
                excel.Cells[1, collndex] = col.ColumnName;
            }
            //同样的方法处理数据
            foreach(DataRow row in table.Rows)
            {
                rowIndex++;
                collndex = 0;
                foreach (DataColumn col in table.Columns)
                {
                    collndex++;
                    excel.Cells[rowIndex, collndex] = row[col.ColumnName].ToString();
                }
            }
            //不可见,即后台处理
            excel.Visible = false;
            excel.DisplayAlerts = false;
            //保存刚才创建的Excel表格
            excel.Save(MapPath("App_Data/ExcelTable.xls"));
            excel.Application.Workbooks.Close();
            excel.Application.Quit();
            excel.Quit();
            //释放使用的Excel对象
            System.Runtime.InteropServices.Marshal.ReleaseComObject(excel);
            GC.Collect();
        }
    }
}

 

时间: 2024-09-03 06:06:36

.NET操作Excel的相关文章

ASP操作Excel技术总结

excel|excel 目录一. 环境配置二. ASP对Excel的基本操作三. ASP操作Excel生成数据表四. ASP操作Excel生成Chart图五. 服务器端Excel文件浏览.下载.删除方案六. 附录 正文一. 环境配置服务器端的环境配置从参考资料上看,微软系列的配置应该都行,即:1.Win9x+PWS+Office2.Win2000 Professional+PWS+Office3.Win2000 Server+IIS+Office目前笔者测试成功的环境是后二者.Office的版本

在VC中使用智能指针操作Excel

最近的一个工程中,需要将数据导入Excel表格中,项目经理知道我以前没有接触过操作Excel的经验,于是给了一段小程序给我,让我参考着做. 这段程序是使用智能指针操作Excel,在网络上找了一个星期,居然没有一片关于智能指针操作Excel的文章,只有Automation技术,而且所有介绍Automation技术的文章都是大同小异,并且代码多,说明少.没有任何帮助,光有一堆代码,对于理解和使用没有太大的帮助.在这样一个艰苦的条件下,我决定利用手中仅有的工具:Microsoft Excel Visu

ASP下操作Excel技术总结分析_应用技巧

ASP操作Excel技术总结   目录  一. 环境配置  二. ASP对Excel的基本操作  三. ASP操作Excel生成数据表  四. ASP操作Excel生成Chart图  五. 服务器端Excel文件浏览.下载.删除方案  六. 附录  正文  一. 环境配置  服务器端的环境配置从参考资料上看,微软系列的配置应该都行,即:  1.Win9x+PWS+Office  2.Win2000 Professional+PWS+Office  3.Win2000 Server+IIS+Off

ASP操作Excel相关技术总结_应用技巧

目录  一. 环境配置  二. ASP对Excel的基本操作  三. ASP操作Excel生成数据表  四. ASP操作Excel生成Chart图  五. 服务器端Excel文件浏览.下载.删除方案  六. 附录  正文  一. 环境配置  服务器端的环境配置从参考资料上看,微软系列的配置应该都行,即:  1.Win9x+PWS+Office  2.Win2000 Professional+PWS+Office  3.Win2000 Server+IIS+Office  目前笔者测试成功的环境是

php 操作excel文件的方法小结_php技巧

一.php,不用COM,生成excel文件 复制代码 代码如下: <? header("Content-type:application/vnd.ms-excel"); header("Content-Disposition:filename=test.xls"); echo "test1\t"; echo "test2\t\n"; echo "test1\t"; echo "test2\t

ASP操作Excel技术总结 (1/4)

目录 一. 环境配置 二. ASP对Excel的基本操作 三. ASP操作Excel生成数据表 四. ASP操作Excel生成Chart图 五. 服务器端Excel文件浏览.下载.删除方案 六. 附录 正文 一. 环境配置 服务器端的环境配置从参考资料上看,微软系列的配置应该都行,即: 1.Win9x+PWS+Office 2.Win2000   Professional+PWS+Office 3.Win2000   Server+IIS+Office 目前笔者测试成功的环境是后二者.Offic

ASP操作Excel技术总结_ASP基础

目录  一. 环境配置  二. ASP对Excel的基本操作  三. ASP操作Excel生成数据表  四. ASP操作Excel生成Chart图  五. 服务器端Excel文件浏览.下载.删除方案  六. 附录  正文  一. 环境配置  服务器端的环境配置从参考资料上看,微软系列的配置应该都行,即:  1.Win9x+PWS+Office  2.Win2000 Professional+PWS+Office  3.Win2000 Server+IIS+Office  目前笔者测试成功的环境是

ASP下操作Excel技术总结分析

ASP操作Excel技术总结 目录  一. 环境配置  二. ASP对Excel的基本操作  三. ASP操作Excel生成数据表  四. ASP操作Excel生成Chart图  五. 服务器端Excel文件浏览.下载.删除方案  六. 附录  正文  一. 环境配置  服务器端的环境配置从参考资料上看,微软系列的配置应该都行,即:  1.Win9x+PWS+Office  2.Win2000 Professional+PWS+Office  3.Win2000 Server+IIS+Offic

ASP操作Excel相关技术总结

目录  一. 环境配置  二. ASP对Excel的基本操作  三. ASP操作Excel生成数据表  四. ASP操作Excel生成Chart图  五. 服务器端Excel文件浏览.下载.删除方案  六. 附录 正文  一. 环境配置  服务器端的环境配置从参考资料上看,微软系列的配置应该都行,即:  1.Win9x+PWS+Office  2.Win2000 Professional+PWS+Office  3.Win2000 Server+IIS+Office  目前笔者测试成功的环境是后