1.作业环境
之后vs引用子目录会多出下面三个dll:
简单操作流程如下:
复制代码 代码如下:
using Excel;
// from bill example
public void writeExcelAdvance(String outputFile)
{
string[,] myData =
{
{ "车牌号", "类型", "品 牌", "型 号", "颜 色", "附加费证号", "车架号" },
{ "浙KA3676", "危险品", "货车", "铁风SZG9220YY", "白", "1110708900", "022836" },
{ "浙KA4109", "危险品", "货车", "解放CA4110P1K2", "白", "223132", "010898" },
{ "浙KA0001A", "危险品", "货车", "南明LSY9190WS", "白", "1110205458", "0474636" },
{ "浙KA0493", "上普货", "货车", "解放LSY9190WS", "白", "1110255971", "0094327" },
{ "浙KA1045", "普货", "货车", "解放LSY9171WCD", "蓝", "1110391226", "0516003" },
{ "浙KA1313", "普货", "货车", "解放9190WCD", "蓝", "1110315027", "0538701" },
{ "浙KA1322", "普货", "货车", "解放LSY9190WS", "蓝", "24323332", "0538716" },
{ "浙KA1575", "普货", "货车", "解放LSY9181WCD", "蓝", "1110314149", "0113018" },
{ "浙KA1925", "普货", "货车", "解放LSY9220WCD", "蓝", "1110390626", "00268729" },
{ "浙KA2258", "普货", "货车", "解放LSY9220WSP", "蓝", "111048152", "00320" }
};
//引用Excel Application类别
Application myExcel = null;
//引用活页簿类别
Workbook myBook = null;
//引用工作表类别
Worksheet mySheet = null;
//引用Range类别
Range myRange = null;
//开启一个新的应用程式
myExcel = new Microsoft.Office.Interop.Excel.Application();
//打开一个已经存在的excel excel2003和2007版打开参数不一样,具体可以上网上去查:
//excelSql.Workbooks.Open(@"C:\08.xls"(已经存在的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;
//引用第一个活页簿
myBook = myExcel.Workbooks[1];
//设定活页簿焦点
myBook.Activate();
//引用第一个工作表
mySheet = (Worksheet)myBook.Worksheets[1];
//命名工作表的名称为 "Array"
mySheet.Name = "Cells";
//设工作表焦点
mySheet.Activate();
int a = 0;
int UpBound1 = myData.GetUpperBound(0);
//二维阵列数上限
int UpBound2 = myData.GetUpperBound(1);
//二维阵列数上限
//写入报表名称
myExcel.Cells[1, 4] = "普通报表";
//以下的Select方法可省略,加速Excel运行,但VBA有些功能必须要用到Select方法。
//以下的Select方法可省略,加速Excel运行,但VBA有些功能必须要用到Select方法。
//逐行写入数据
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个工作表
mySheet = (Worksheet)myBook.Worksheets[2];
//命名工作表的名称为 "Array"
mySheet.Name = "Array";
//Console.WriteLine(mySheet.Name);
//写入报表名称
myExcel.Cells[1, 4] = "普通报表";
//设定范围
myRange = (Range)mySheet.get_Range(myExcel.Cells[2, 1], myExcel.Cells[UpBound1 + 1, UpBound2 + 1]);
myRange.Select();
//用阵列一次写入资料
myRange.Value2 = "'" + myData;
//设定储存路径
//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);
//关闭活页簿
myBook.Close(false, Type.Missing, Type.Missing);
//关闭Excel
myExcel.Quit();
//释放Excel资源
System.Runtime.InteropServices.Marshal.ReleaseComObject(myExcel);
myBook = null;
mySheet = null;
myRange = null;
myExcel = null;
GC.Collect();
开发环境:vs2005 /vs2008
数据库:sql2005
![asp.net(C#)操作excel(上路篇)](/UploadFiles/2021-04-02/20100225091850508.jpg)
![asp.net(C#)操作excel(上路篇)](/upload/2010-2/20100225091851669.jpg)
复制代码 代码如下:
using Excel;
// from bill example
public void writeExcelAdvance(String outputFile)
{
string[,] myData =
{
{ "车牌号", "类型", "品 牌", "型 号", "颜 色", "附加费证号", "车架号" },
{ "浙KA3676", "危险品", "货车", "铁风SZG9220YY", "白", "1110708900", "022836" },
{ "浙KA4109", "危险品", "货车", "解放CA4110P1K2", "白", "223132", "010898" },
{ "浙KA0001A", "危险品", "货车", "南明LSY9190WS", "白", "1110205458", "0474636" },
{ "浙KA0493", "上普货", "货车", "解放LSY9190WS", "白", "1110255971", "0094327" },
{ "浙KA1045", "普货", "货车", "解放LSY9171WCD", "蓝", "1110391226", "0516003" },
{ "浙KA1313", "普货", "货车", "解放9190WCD", "蓝", "1110315027", "0538701" },
{ "浙KA1322", "普货", "货车", "解放LSY9190WS", "蓝", "24323332", "0538716" },
{ "浙KA1575", "普货", "货车", "解放LSY9181WCD", "蓝", "1110314149", "0113018" },
{ "浙KA1925", "普货", "货车", "解放LSY9220WCD", "蓝", "1110390626", "00268729" },
{ "浙KA2258", "普货", "货车", "解放LSY9220WSP", "蓝", "111048152", "00320" }
};
//引用Excel Application类别
Application myExcel = null;
//引用活页簿类别
Workbook myBook = null;
//引用工作表类别
Worksheet mySheet = null;
//引用Range类别
Range myRange = null;
//开启一个新的应用程式
myExcel = new Microsoft.Office.Interop.Excel.Application();
//打开一个已经存在的excel excel2003和2007版打开参数不一样,具体可以上网上去查:
//excelSql.Workbooks.Open(@"C:\08.xls"(已经存在的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;
//引用第一个活页簿
myBook = myExcel.Workbooks[1];
//设定活页簿焦点
myBook.Activate();
//引用第一个工作表
mySheet = (Worksheet)myBook.Worksheets[1];
//命名工作表的名称为 "Array"
mySheet.Name = "Cells";
//设工作表焦点
mySheet.Activate();
int a = 0;
int UpBound1 = myData.GetUpperBound(0);
//二维阵列数上限
int UpBound2 = myData.GetUpperBound(1);
//二维阵列数上限
//写入报表名称
myExcel.Cells[1, 4] = "普通报表";
//以下的Select方法可省略,加速Excel运行,但VBA有些功能必须要用到Select方法。
//以下的Select方法可省略,加速Excel运行,但VBA有些功能必须要用到Select方法。
//逐行写入数据
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个工作表
mySheet = (Worksheet)myBook.Worksheets[2];
//命名工作表的名称为 "Array"
mySheet.Name = "Array";
//Console.WriteLine(mySheet.Name);
//写入报表名称
myExcel.Cells[1, 4] = "普通报表";
//设定范围
myRange = (Range)mySheet.get_Range(myExcel.Cells[2, 1], myExcel.Cells[UpBound1 + 1, UpBound2 + 1]);
myRange.Select();
//用阵列一次写入资料
myRange.Value2 = "'" + myData;
//设定储存路径
//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);
//关闭活页簿
myBook.Close(false, Type.Missing, Type.Missing);
//关闭Excel
myExcel.Quit();
//释放Excel资源
System.Runtime.InteropServices.Marshal.ReleaseComObject(myExcel);
myBook = null;
mySheet = null;
myRange = null;
myExcel = null;
GC.Collect();
标签:
asp.net,excel
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“asp.net(C#)操作excel(上路篇)”评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新动态
20240901
20240901
- 《庄心妍 实力唱将 发烧音乐精选集》[WAV+CUE][380MB]
- [音展纪念碟]2006年《TAA台湾第十六届国际HI-ENDHI-FI音响展》2cd[WAV]
- 中国音乐地图之听见西藏山歌牧歌酒歌2020[WAV分轨]
- 王宏伟2017-永远的红飘带[太平洋影音][WAV+CUE]
- 费翔.1997-NOW现在【第一中国】【WAV+CUE】
- 新格合唱团.1981-我唱你和2辑(滚石新格民歌系列)【新格】【WAV+CUE】
- 陈柏宇.2011-QUINQUENNIUM【SONY】【WAV+CUE】
- 雨果唱片-《金唛系列-蔷薇依韵琼瑶》WAV
- 陈百强《凝望(2012华纳LPCD45限量版)[DMI]》[WAV整轨]
- 模拟之声慢刻CD《徐小凤45周年》[德国母带][低速原抓WAV+CUE]
- 《庄心妍 实力唱将 发烧音乐精选集》[WAV+CUE][380MB]
- 《王菲 单曲合集》[FlAC/分轨][520MB]
- 《费玉清 原味再现 水长流》[WAV+CUE][430MB]
- 群星.1992-畅销榜老歌金曲10CD【风格】【WAV+CUE】
- 孙悦.2024-时光音乐会【金蜂】【WAV+CUE】