日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

.NET操作Excel

發布時間:2023/12/10 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .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();
??????? }
??? }
}

?

轉載于:https://www.cnblogs.com/java20130723/archive/2012/12/16/3211492.html

總結

以上是生活随笔為你收集整理的.NET操作Excel的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。