C# 导出 Excel 和相关打印设置
源地址:http://blog.csdn.net/wanmingtom/article/details/6125599
Excel.Application myExcel = new Excel.Application();
Excel.Workbook workbookData = myExcel.Application.Workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet);
Excel.Worksheet xlSheet = (Worksheet)workbookData.Worksheets[1];//取得sheet1
1) 显示当前窗口: xlSheet.Visible = True;
2) 更改 Excel 标题栏: xlSheet.Caption = '应用程序调用 Microsoft Excel';
3) 添加新工作簿: xlSheet.WorkBooks.Add;
4) 打开已存在的工作簿: xlSheet.WorkBooks.Open( 'd:/Demo.xls' );
5) 设置第2个工作表为活动工作表: xlSheet.WorkSheets[2].Activate;
或 xlSheet.WorksSheets[ 'Sheet2' ].Activate;
6) 给单元格赋值:xlSheet.Cells[1,4].Value = 'http://blog.soso.com/qz.q/第一行第四列';
xlSheet.Cells(2,j+1).Interior.Color = 50000 ;//设置单元格背景颜色
7) 设置指定列的宽度(单位:字符个数),以第一列为例: xlSheet.Columns[1].ColumnsWidth = 5;
8) 设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例: xlSheet.Rows[2].RowHeight = 1/0.035; // 1厘米
9) 在第8行之前插入分页符: xlSheet.WorkSheets[1].Rows[8].PageBreak = 1;
10) 在第8列之前删除分页符: xlSheet.Columns[4].PageBreak = 0;
11) 指定边框线宽度: xlSheet.Range[ 'B3:D4' ].Borders[2].Weight = 3; 1-左 2-右 3-顶 4-底 5-斜( / ) 6-斜( / )
12) 清除第一行第四列单元格公式: xlSheet.Cells[1,4].ClearContents;
13) 设置第一行字体属性:
xlSheet.Rows[1].Font.Name = '隶书';
xlSheet.Rows[1].Font.Color = clBlue;
xlSheet.Rows[1].Font.Bold = True;
xlSheet.Rows[1].Font.UnderLine = True;
xlSheet.Range("A1:G1").Merge(); //合并单元格
14) 进行页面设置:
xlSheet.PageSetup.FirstPageNumber=1;/ /从首页开始打印
xlSheet.PageSetup.Orientation=2;//设置为横向打印
xlSheet.PageSetup.PrintTitleRows = "$2:$2";//固定打印表头
a.页眉: 注:这里要注意,如果是Wps ET,Margin的单位默认为像素,要注意一下所给的值,别超出合理范围;而Excel单位默认为字符数; xlSheet.PageSetup.CenterHeader = '报表演示';
b.页脚: xlSheet.PageSetup.CenterFooter = '第&P页---------共(&N)页';
c.页眉到顶端边距2cm: xlSheet.PageSetup.HeaderMargin = 2/0.035;
d.页脚到底端边距3cm: xlSheet.PageSetup.HeaderMargin = 3/0.035;
e.顶边距2cm: xlSheet.PageSetup.TopMargin = 2/0.035;
f.底边距2cm: xlSheet.PageSetup.BottomMargin = 2/0.035;
g.左边距2cm: xlSheet.PageSetup.LeftMargin = 2/0.035;
h.右边距2cm: xlSheet.PageSetup.RightMargin = 2/0.035;
i.页面水平居中: xlSheet.PageSetup.CenterHorizontally = 2/0.035;
j.页面垂直居中: xlSheet.PageSetup.CenterVertically = 2/0.035;
k.打印单元格网线: xlSheet.PageSetup.PrintGridLines = True;
15) 拷贝操作:
a.拷贝整个工作表: xlSheet.Used.Range.Copy;
b.拷贝指定区域: xlSheet.Range[ 'A1:E2' ].Copy;
c.从A1位置开始粘贴: xlSheet.Range.[ 'A1' ].PasteSpecial;
d.从文件尾部开始粘贴: xlSheet.Range.PasteSpecial;
16) 插入一行或一列:
a. xlSheet.Rows[2].Insert;
b. xlSheet.Columns[1].Insert;
17) 删除一行或一列:
a. xlSheet.Rows[2].Delete;
b. xlSheet.Columns[1].Delete;
18) 打印预览工作表: xlSheet.PrintPreview;
19) 打印输出工作表: xlSheet.PrintOut;
20) 工作表另存为: workbookData.Saved = true;
xlSheet.SaveAs(filename, missing, missing, missing, missing, missing, missing, missing, missing, missing);
21) 关闭工作簿: workbookData.Close(false, missing, missing);
22) 退出 Excel: myExcel.Quit();
这个还不够完整..前段时间折腾了很久这个东西,基本上的设置都弄明白了..
如果有不明白的地方可以留言. 我知道的话会一一答复的!
http://apps.hi.baidu.com/share/detail/16980848
2------------------------
标签:
it |
private Excel.Sheets objSheets;
private Excel._Worksheet objSheet;
private Excel.Range range;
objApp = new Excel.Application();
objSheet = (Excel._Worksheet)objSheets.get_Item(1);
/// <summary>
/// 设置单元格的背景色---多个连接的单元格
/// </summary>
/// <param name="sRow">开始行</param>
/// <param name="sCol">开始列</param>
/// <param name="eRow">结束行</param>
/// <param name="eCol">结束列</param>
/// <param name="colorIndex">颜色的索引</param>
public void SetRangeBackground(int sRow,int sCol,int eRow,int eCol,int colorIndex)
{
range=objSheet.get_Range(objSheet.Cells[sRow,sCol],objSheet.Cells[eRow,eCol]);
range.Interior.ColorIndex=colorIndex;
}
/// <summary>
/// 设置单元格的线
/// </summary>
public void SetBorderLine(int sRow,int sCol,int eRow,int eCol)
{
range=objSheet.get_Range(objSheet.Cells[sRow,sCol],objSheet.Cells[eRow,eCol]);
range.Cells.Borders.LineStyle=1;
}
转自:http://cache.baidu.com/c?m=9f65cb4a8c8507ed4fece763104284250e54f7327d818c027fa3cf1fd5791b161430febb24211100d3d27c105be91602feb56b32610c71a09bc99f4aacecd87978d63034010bf74a05a413b8bd4232b021875b99b869e4ad803384dea5c4af5644cb23120b8be7f82a&p=8b2a925e8bd513f908e2957a5147&user=baidu
-------------------------自己补充
设置边框颜色:sheet.Cells[startRow, 2].Borders.Color = 0x0000ff;//这个是红色,x后前两个0是蓝色,中间两个0是绿色,最后两个是红色~~
设置制定边框:sheet.Range[sheet.Cells[1, 2], sheet.Cells[1 ,30]].Borders[4].LineStyle = 1;
Border[4]是指下边框,3是指上边框,1是左,2是右~~填成0会报错.不加中括号是全部的边框~~~
Excel里设置颜色的时候:ColorIndex,不能用Color(我汗).在网上找到的这个图,不用自己去一个个试了
来个改背景色的例子:sheet.Cells[startRow, 25].Interior.ColorIndex = 4;
这个摘自:http://www.cnblogs.com/fubin/archive/2009/06/04/1495943.html
合并单元格:r=ws.get_Range(ws.Cells[1,1],ws.Cells[1,6]); //取得合并的区域
r.MergeCells=true;
用C#调Excel对象的Worksheets.Delete进行删除某个文件中的Sheet时始终无法实现。后来发现问题所在:
默认情况下,Appliation.Open文件时visible为false,在无宏的情况下只会在后台进行操作,不在前台打开页面。这种情况下,如果只调用Delete来删除,会弹出确认删除的对话框,但是由于是后台操作无法看见这个对话框,所以始终删除没有完成。将visible时才发现问题所在。
解决方法,不弹出这个提示框,workbook.displayalerts = false ,即可。(注:此处的workbook是Application)
C# 导出 Excel 和相关打印设置的更多相关文章
- C#导出Excel和相关打印设置
Excel.Application myExcel = new Excel.Application();Excel.Workbook workbookData = myExcel.Applicatio ...
- Vue项目中将table组件导出Excel表格以及打印页面内容
体验更优排版请移步原文:http://blog.kwin.wang/programming/vue-table-export-excel-and-print.html 页面中显示的table表格,经常 ...
- C#导出Excel按照指定格式设置单元格属性值
最近项目中一直在写XML.Table.Excel之间的转化.之前一直都是不考虑格式的导出,今天给出一个格式,让按照格式导出,还真把我这新手为难了一翻,网上给出的资料基本一样.为了一个单元格文字变色纠结 ...
- 个人永久性免费-Excel催化剂功能第50波-批量打印、导出PDF、双面打印功能
在倡导无纸化办公的今天,是否打印是一个碍眼的功能呢,某些时候的确是,但对于数据的留存,在现在鼓吹区块链技术的今天,仍然不失它的核心价值,数据报表.单据打印出来留存,仍然是一种不可或缺的数据存档和防篡改 ...
- java中使用jxl导出Excel表格详细通用步骤
该方法一般接收两个参数,response和要导出的表格内容的list. 一般我们将数据库的数据查询出来在页面进行展示,根据用户需求,可能需要对页面数据进行导出. 此时只要将展示之前查询所得的数据放入s ...
- NPOI导出EXCEL部分样式不起作用
在使用NPOI导出excel的时候,设置cell样式,数据量多余6条之后,在后面几条数据没有样式(边框,对其,换行等). 原因是设置CellStyle的时候把CreateCellStyle放在循环列集 ...
- 使用NPOI或EPPlus来导出Excel文件实例,可在Excel文件加密
使用NPOI.dll组件来导出Excel文件,并设置样式,Nuget引用即可. packages\NPOI.2.1.3.1\lib\net20\NPOI.dll #region Excel prote ...
- NPOI导出EXCEL 打印设置分页及打印标题
在用NPOI导出EXCEL的时候设置分页,在网上有查到用sheet1.SetRowBreak(i)方法,但一直都没有起到作用.经过研究是要设置 sheet1.FitToPage = false; 而 ...
- [转]NPOI导出EXCEL 打印设置分页及打印标题
本文转自:http://www.cnblogs.com/Gyoung/p/4483475.html 在用NPOI导出EXCEL的时候设置分页,在网上有查到用sheet1.SetRowBreak(i)方 ...
随机推荐
- postgresql downgrade issue
Q: Dear Support Team, If we use ubuntu server to install postgresql9.4, how can we keep original dat ...
- oracle更新统计信息以及解锁统计信息
begin dbms_stats.unlock_table_stats(ownname => 'DM_MPAY', tabname => 'PLAT_INFO');end; begin d ...
- pythonchallenge关卡破解
第一关:pow(2,38) 第二关: import string table = str.maketrans(string.ascii_lowercase, string.ascii_lowercas ...
- php面向对象中的魔术方法中文说明
1.__construct() 实例化对象是被自动调用.当__construct和以类名为函数名的函数 同时存在时调用__construct,另一个不背调用. 类名为函数名的函数为老版的构造函数. 2 ...
- jquery点击改变图片src源码并toggle
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 程序员书单_HeadFirst系列
Head First Jquery(中文版),完整扫描版 http://download.csdn.net/detail/shenzhq1980/9103615 Head First Python(完 ...
- ubuntu 安装 VISUAL STUDIO CODE
1.下载VISUAL STUDIO CODE .DEB/.RPM 2. # For .deb sudo dpkg -i <file>.deb # For .rpm (Fedora and ...
- HackerRank "AND xor OR"
Actually I think problem statement is somewhat misleading. No need to mention range [L, R] at all. T ...
- Windows 7无线网卡启用wifi共享蓝屏!
我的笔记本是联想Y460P,装的是Windows 7 Ultiame(x64)系统,通过设置笔记本的无线(Intel WiFi Link 1000 BGN)搭建Wifi环境并共享,使手机能够通过笔记本 ...
- SQL server 学习笔记1
1.查询安装的排序规则选项喝当前的排序规则服务器属性 select * from fn_helpcollations(); 2.查看当前服务器的排序规则 select serverproperty(' ...