asp.net(C#)操作excel(上路篇)
開發(fā)環(huán)境:vs2005 /vs2008
數(shù)據(jù)庫:sql2005


using Excel;
// from bill example
public void writeExcelAdvance(String outputFile)
{
string[,] myData =
{
{ "車牌號", "類型", "品 牌", "型 號", "顏 色", "附加費(fèi)證號", "車架號" },
{ "浙KA3676", "危險(xiǎn)品", "貨車", "鐵風(fēng)SZG9220YY", "白", "1110708900", "022836" },
{ "浙KA4109", "危險(xiǎn)品", "貨車", "解放CA4110P1K2", "白", "223132", "010898" },
{ "浙KA0001A", "危險(xiǎn)品", "貨車", "南明LSY9190WS", "白", "1110205458", "0474636" },
{ "浙KA0493", "上普貨", "貨車", "解放LSY9190WS", "白", "1110255971", "0094327" },
{ "浙KA1045", "普貨", "貨車", "解放LSY9171WCD", "藍(lán)", "1110391226", "0516003" },
{ "浙KA1313", "普貨", "貨車", "解放9190WCD", "藍(lán)", "1110315027", "0538701" },
{ "浙KA1322", "普貨", "貨車", "解放LSY9190WS", "藍(lán)", "24323332", "0538716" },
{ "浙KA1575", "普貨", "貨車", "解放LSY9181WCD", "藍(lán)", "1110314149", "0113018" },
{ "浙KA1925", "普貨", "貨車", "解放LSY9220WCD", "藍(lán)", "1110390626", "00268729" },
{ "浙KA2258", "普貨", "貨車", "解放LSY9220WSP", "藍(lán)", "111048152", "00320" }
};
//引用Excel Application類別
Application myExcel = null;
//引用活頁簿類別
Workbook myBook = null;
//引用工作表類別
Worksheet mySheet = null;
//引用Range類別
Range myRange = null;
//開啟一個(gè)新的應(yīng)用程式
myExcel = new Microsoft.Office.Interop.Excel.Application();
//打開一個(gè)已經(jīng)存在的excel excel2003和2007版打開參數(shù)不一樣,具體可以上網(wǎng)上去查:
//excelSql.Workbooks.Open(@"C:\08.xls"(已經(jīng)存在的excel路徑), Type.Missing, Type.Missing, Type.Missing, Type.Missing,
//Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,Type.Missing,Type.Missing);
//加入新的活頁簿
myExcel.Workbooks.Add(true);
//停用警告訊息
myExcel.DisplayAlerts = false;
//讓Excel文件可見
myExcel.Visible = true;
//引用第一個(gè)活頁簿
myBook = myExcel.Workbooks[1];
//設(shè)定活頁簿焦點(diǎn)
myBook.Activate();
//引用第一個(gè)工作表
mySheet = (Worksheet)myBook.Worksheets[1];
//命名工作表的名稱為 "Array"
mySheet.Name = "Cells";
//設(shè)工作表焦點(diǎn)
mySheet.Activate();
int a = 0;
int UpBound1 = myData.GetUpperBound(0);
//二維陣列數(shù)上限
int UpBound2 = myData.GetUpperBound(1);
//二維陣列數(shù)上限
//寫入報(bào)表名稱
myExcel.Cells[1, 4] = "普通報(bào)表";
//以下的Select方法可省略,加速Excel運(yùn)行,但VBA有些功能必須要用到Select方法。
//以下的Select方法可省略,加速Excel運(yùn)行,但VBA有些功能必須要用到Select方法。
//逐行寫入數(shù)據(jù)
for (int i = 0; i < UpBound1; i++)
{
for (int j = 0; j < UpBound2; j++)
{
//以單引號開頭,表示該單元格為純文字
a++;
//用offset寫入陣列資料
myRange = mySheet.get_Range("A2", Type.Missing);
myRange.get_Offset(i, j).Select();
myRange.Value2 = "'" + myData[i, j];
//用Cells寫入陣列資料
myRange.get_Range(myExcel.Cells[2 + i, 1 + j], myExcel.Cells[2 + i, 1 + j]).Select();
myExcel.Cells[2 + i, 1 + j] = "'" + myData[i, j];
}
}
//加入新的工作表在第1張工作表之后
myBook.Sheets.Add(Type.Missing, myBook.Worksheets[1], 1, Type.Missing);
//引用第2個(gè)工作表
mySheet = (Worksheet)myBook.Worksheets[2];
//命名工作表的名稱為 "Array"
mySheet.Name = "Array";
//Console.WriteLine(mySheet.Name);
//寫入報(bào)表名稱
myExcel.Cells[1, 4] = "普通報(bào)表";
//設(shè)定范圍
myRange = (Range)mySheet.get_Range(myExcel.Cells[2, 1], myExcel.Cells[UpBound1 + 1, UpBound2 + 1]);
myRange.Select();
//用陣列一次寫入資料
myRange.Value2 = "'" + myData;
//設(shè)定儲(chǔ)存路徑
//string PathFile = Directory.GetCurrentDirectory() + @"\button4.xls";
//另存活頁簿
myBook.SaveAs(outputFile, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing
, XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
//關(guān)閉活頁簿
myBook.Close(false, Type.Missing, Type.Missing);
//關(guān)閉Excel
myExcel.Quit();
//釋放Excel資源
System.Runtime.InteropServices.Marshal.ReleaseComObject(myExcel);
myBook = null;
mySheet = null;
myRange = null;
myExcel = null;
GC.Collect();
- c#將Excel數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫的實(shí)現(xiàn)代碼
- ASP.NET(C#)讀取Excel的文件內(nèi)容
- C#如何將DataTable導(dǎo)出到Excel解決方案
- C#數(shù)據(jù)導(dǎo)入/導(dǎo)出Excel文件及winForm導(dǎo)出Execl總結(jié)
- C# WinForm導(dǎo)出Excel方法介紹
- C#將html table 導(dǎo)出成excel實(shí)例
- C#導(dǎo)入導(dǎo)出EXCEL文件的代碼實(shí)例
- c#利用Excel直接讀取數(shù)據(jù)到DataGridView
- C#連接Excel2003和Excel2007以上版本做數(shù)據(jù)庫的連接字符串
- 讓C# Excel導(dǎo)入導(dǎo)出 支持不同版本Office
相關(guān)文章
Visual?Studio2022創(chuàng)建WebAPI項(xiàng)目步驟記錄
不管是前后端分離還是提供數(shù)據(jù)服務(wù),WebApi使用的越來越廣泛,而且.NET Core也是我們.NET開發(fā)人員未來發(fā)展的趨勢,所以說學(xué)會(huì)使用.NET Core Api是非常有必要的,這篇文章主要給大家介紹了關(guān)于Visual?Studio2022創(chuàng)建WebAPI項(xiàng)目步驟的相關(guān)資料,需要的朋友可以參考下2024-01-01.Net插件框架Managed Extensibility Framework簡介
這篇文章介紹了.Net插件框架Managed Extensibility Framework,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07創(chuàng)建一個(gè)完整的ASP.NET Web API項(xiàng)目
ASP.NET Web API具有與ASP.NET MVC類似的編程方式,ASP.NET Web API不僅僅具有一個(gè)完全獨(dú)立的消息處理管道,而且這個(gè)管道比為ASP.NET MVC設(shè)計(jì)的管道更為復(fù)雜,功能也更為強(qiáng)大。下面創(chuàng)建一個(gè)簡單的Web API項(xiàng)目,需要的朋友可以參考下2015-10-10MVC 5 第二章 MVC5應(yīng)用程序項(xiàng)目結(jié)構(gòu)
通過本章學(xué)習(xí),你將了解到一個(gè)MVC 5應(yīng)用程序的項(xiàng)目組成以及項(xiàng)目文件的相關(guān)信息,從而更好地架構(gòu)設(shè)計(jì)出自己的項(xiàng)目結(jié)構(gòu)。2014-06-06對ASP.Net的WebAPI項(xiàng)目進(jìn)行測試
這篇文章介紹了對WebAPI項(xiàng)目進(jìn)行測試的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04Entity?Framework實(shí)體拆分多個(gè)表
這篇文章介紹了Entity?Framework實(shí)體拆分多個(gè)表的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03ASP.NET中根據(jù)XML動(dòng)態(tài)創(chuàng)建使用WEB組件
ASP.NET中根據(jù)XML動(dòng)態(tài)創(chuàng)建使用WEB組件...2006-09-09asp.net Javascript獲取CheckBoxList的value
最近在做一個(gè)BS的小項(xiàng)目,記得自己搞asp.net的時(shí)候,還是兩年以前,大部分的東西只是有點(diǎn)印象,忘得差不多了,所以這次也算是溫習(xí)的過程吧,一邊學(xué)習(xí),一邊趕工,呵呵呵。。。。2009-12-12