亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

Asp.net操作Excel更輕松的實現代碼

2024-07-10 13:24:39
字體:
來源:轉載
供稿:網友
1.操作Excel的動態鏈接庫

2.建立操作動態鏈接庫的共通類,方便調用。(ExcelHelper)
具體如下:

復制代碼 代碼如下:


using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.IO;
using System.Reflection;
using System.Diagnostics;
using System.Collections;
/// <summary>
///ExcelHelper 的摘要說明
/// </summary>
public class ExcelHelper
{
private string reportModelPath = null;
private string outPutFilePath = null;
private object missing = Missing.Value;
Excel.Application app;
Excel.Workbook workBook;
Excel.Worksheet workSheet;
Excel.Range range;
/// <summary>
/// 獲取或設置報表模板路徑
/// </summary>
public string ReportModelPath
{
get { return reportModelPath; }
set { reportModelPath = value; }
}
/// <summary>
/// 獲取或設置輸出路徑
/// </summary>
public string OutPutFilePath
{
get { return outPutFilePath; }
set { outPutFilePath = value; }
}
public ExcelHelper()
{
//
//TODO: 在此處添加構造函數邏輯
//
}
/// <summary>
/// 帶參ExcelHelper構造函數
/// </summary>
/// <param>報表模板路徑</param>
/// <param>輸出路徑</param>
public ExcelHelper(string reportModelPath, string outPutFilePath)
{
//路徑驗證
if (null == reportModelPath || ("").Equals(reportModelPath))
throw new Exception("報表模板路徑不能為空!");
if (null == outPutFilePath || ("").Equals(outPutFilePath))
throw new Exception("輸出路徑不能為空!");
if (!File.Exists(reportModelPath))
throw new Exception("報表模板路徑不存在!");
//設置路徑值
this.ReportModelPath = reportModelPath;
this.OutPutFilePath = outPutFilePath;
//創建一個應用程序對象
app = new Excel.ApplicationClass();
//打開模板文件,獲取WorkBook對象
workBook = app.Workbooks.Open(reportModelPath, missing, missing, missing, missing, missing, missing,
missing, missing, missing, missing, missing, missing);
//得到WorkSheet對象
workSheet = workBook.Sheets.get_Item(1) as Excel.Worksheet;
}
/// <summary>
/// 給單元格設值
/// </summary>
/// <param>行索引</param>
/// <param>列索引</param>
/// <param>填充的內容</param>
public void SetCells(int rowIndex,int colIndex,object content)
{
if (null != content)
{
content = content.ToString();
}
else
{
content = string.Empty;
}
try
{
workSheet.Cells[rowIndex, colIndex] = content;
}
catch
{
GC();
throw new Exception("向單元格[" + rowIndex + "," + colIndex + "]寫數據出錯!");
}
}
/// <summary>
/// 保存文件
/// </summary>
public void SaveFile()
{
try
{
workBook.SaveAs(outPutFilePath, missing, missing, missing, missing, missing,
Excel.XlSaveAsAccessMode.xlExclusive, missing, missing, missing, missing);
}
catch
{
throw new Exception("保存至文件失??!");
}
finally
{
Dispose();
}
}
/// <summary>
/// 垃圾回收處理
/// </summary>
protected void GC()
{
if (null != app)
{
int generation = 0;
System.Runtime.InteropServices.Marshal.ReleaseComObject(app);
generation = System.GC.GetGeneration(app);
System.GC.Collect(generation);
app = null;
missing = null;
}
}
/// <summary>
/// 釋放資源
/// </summary>
protected void Dispose()
{
workBook.Close(null, null, null);
app.Workbooks.Close();
app.Quit();
if (null != workSheet)
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(workSheet);
workSheet = null;
}
if (workBook != null)
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(workBook);
workBook = null;
}
if (app != null)
{
int generation = 0;
System.Runtime.InteropServices.Marshal.ReleaseComObject(app);
generation = System.GC.GetGeneration(app);
System.GC.Collect(generation);
app = null;
missing = null;
}
}
}


通過ExcelHelper類提供的SetCells()和SaveFile()方法可以給Excel單元格賦值并保存到臨時文件夾內。僅供參考。
3.調用
因為這里需要用到導出模板,所以需要先建立模板。具體如下:、

復制代碼 代碼如下:


/// <summary>
/// 導出數據
/// </summary>
protected void Export_Data()
{
int ii = 0;
//取得報表模板文件路徑
string reportModelPath = HttpContext.Current.Server.MapPath("ReportModel/導出訂單模板.csv");
//導出報表文件名
fileName = string.Format("{0}-{1}{2}.csv", "導出訂單明細", DateTime.Now.ToString("yyyyMMdd"), GetRndNum(3));
//導出文件路徑
string outPutFilePath = HttpContext.Current.Server.MapPath("Temp_Down/" + fileName);
//創建Excel對象
ExcelHelper excel = new ExcelHelper(reportModelPath, outPutFilePath);

SqlDataReader sdr = Get_Data();
while (sdr.Read())
{
ii++;
excel.SetCells(1 + ii, 1, ii);
excel.SetCells(1 + ii, 2, sdr["C_Name"]);
excel.SetCells(1 + ii, 3, sdr["C_Mtel"]);
excel.SetCells(1 + ii, 4, sdr["C_Tel"]);
excel.SetCells(1 + ii, 5, sdr["C_Province"]);
excel.SetCells(1 + ii, 6, sdr["C_Address"]);
excel.SetCells(1 + ii, 7, sdr["C_Postcode"]);
}
sdr.Close();
excel.SaveFile();
}


關于導出就簡單寫到這,另外下一節講介紹如何通過這個類庫上傳Excel文件。 作者:WILLPAN
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久久久久国产精品| 精品久久久一区| 国产精品夫妻激情| 国产日韩精品视频| 亚洲电影免费在线观看| 激情久久av一区av二区av三区| 欧美日韩精品国产| 国产亚洲视频中文字幕视频| 色噜噜国产精品视频一区二区| 亚洲欧美国产高清va在线播| 久久精品成人欧美大片| 在线观看久久久久久| 亚洲精品成a人在线观看| 97热精品视频官网| 国产激情久久久久| 欧美日韩成人在线观看| 97精品一区二区三区| 久久久久久久久久久免费精品| 日韩av影视在线| 久久精品亚洲94久久精品| 韩国精品美女www爽爽爽视频| 成人免费黄色网| 亚洲欧洲日产国产网站| 91久久精品视频| 亚洲国产精品999| 亚洲高清福利视频| 亚洲免费伊人电影在线观看av| 成人精品视频久久久久| 日韩中文字幕在线播放| 激情成人在线视频| xxav国产精品美女主播| 欧美日韩另类字幕中文| 日韩成人网免费视频| 免费97视频在线精品国自产拍| 亚洲精品一区二三区不卡| 热久久99这里有精品| 国内精品400部情侣激情| 亚洲综合色激情五月| 亚洲欧美制服丝袜| 久久精品一本久久99精品| 亚洲精品第一页| 欧美激情奇米色| 亚洲美腿欧美激情另类| 欧美日韩国产成人在线观看| 日韩av在线一区二区| 久久精品国产v日韩v亚洲| 国产精品亚洲视频在线观看| 久久91亚洲精品中文字幕奶水| 日韩国产在线播放| 亚洲国产精品人久久电影| 国产精品最新在线观看| 69久久夜色精品国产69| 日韩成人在线观看| 欧美亚洲视频在线观看| 亚洲人在线观看| 一夜七次郎国产精品亚洲| 欧美日韩国产在线| 亚洲成人av在线播放| 中文亚洲视频在线| 国产噜噜噜噜噜久久久久久久久| 在线不卡国产精品| 国产不卡av在线免费观看| 亚州欧美日韩中文视频| 欧美性xxxxxxx| 久久电影一区二区| 成人国产在线激情| 亚洲成色999久久网站| 中文字幕久热精品视频在线| 中文字幕在线看视频国产欧美| 亚洲第一区第一页| 性欧美亚洲xxxx乳在线观看| 日韩电影中文字幕一区| 亚洲伊人久久综合| 精品国产一区二区三区久久| 77777少妇光屁股久久一区| 亚洲精品乱码久久久久久按摩观| 久久久亚洲欧洲日产国码aⅴ| 清纯唯美亚洲激情| 伊人久久大香线蕉av一区二区| 久久视频这里只有精品| 欧美性生交xxxxxdddd| 日韩在线观看av| 亚洲一区二区中文字幕| 欧美激情xxxx| 久久久久久网站| 久久色免费在线视频| 国产精品一久久香蕉国产线看观看| 欧美日韩不卡合集视频| 亚洲精品久久视频| 日韩三级影视基地| 亚洲一区二区三区视频| 成人黄色大片在线免费观看| 国产精品成人免费电影| 国产91久久婷婷一区二区| 日本不卡免费高清视频| 超碰精品一区二区三区乱码| 欧美一区二区三区免费观看| 日韩电影在线观看永久视频免费网站| 久久久欧美一区二区| 91丨九色丨国产在线| 日产日韩在线亚洲欧美| 久久免费少妇高潮久久精品99| 国语自产在线不卡| 亚洲欧美国产日韩天堂区| 伊人久久久久久久久久久| 91tv亚洲精品香蕉国产一区7ujn| 欧美中文字幕在线| 欧美国产日韩精品| 亚洲国产91精品在线观看| 国产精品久久二区| 播播国产欧美激情| 日韩美女在线播放| 欧美大尺度激情区在线播放| 亚洲欧美制服另类日韩| 欧美激情中文字幕乱码免费| 国产精品久久久久久av福利| 欧美国产第一页| 久久人人爽国产| 在线观看免费高清视频97| 亚洲一区第一页| 欧日韩不卡在线视频| 富二代精品短视频| 国产精品女人久久久久久| 综合网中文字幕| 啪一啪鲁一鲁2019在线视频| 日本在线观看天堂男亚洲| 亚洲午夜精品久久久久久久久久久久| 在线亚洲午夜片av大片| 欧美日韩国产在线播放| 亚洲欧美日韩精品久久亚洲区| 久久99国产精品久久久久久久久| 国产欧美va欧美va香蕉在| 日韩电视剧在线观看免费网站| 97视频在线观看视频免费视频| 日韩欧美在线看| 日韩美女视频免费看| 亚洲欧美在线第一页| 欧美日韩国产精品专区| 日韩精品中文在线观看| 亚洲精品一区中文| 亚洲成年网站在线观看| 日韩www在线| 国产成人激情视频| 91久久久久久| 欧美极品第一页| 97在线视频免费播放| www高清在线视频日韩欧美| 久久久成人精品视频| 国产欧美日韩高清| 中文字幕一精品亚洲无线一区| 日韩在线播放一区| 亚洲毛片在线观看.| 亚洲国产欧美一区二区三区同亚洲| 久久久久久久一| 国产精品高潮视频| 精品国模在线视频| 欧美性猛交xxxxx水多| 日韩高清中文字幕| 国产成人精品视频在线观看| 2018日韩中文字幕| 成人福利在线观看| 日韩av在线资源| 亚洲最大av在线| 日韩成人在线视频网站|