C# 导出 Excel 和相关打印设置(不断更新中)

转载 2011年01月09日 18:46:00

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------------------------

在C#中如何对Excel单元格设置背景色以及对Range设边框

 (2009-08-13 10:45:53)
标签: 

it

 
private Excel.Application objApp;
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时删除Sheet的小问题

 用C#调Excel对象的Worksheets.Delete进行删除某个文件中的Sheet时始终无法实现。后来发现问题所在:

默认情况下,Appliation.Open文件时visible为false,在无宏的情况下只会在后台进行操作,不在前台打开页面。这种情况下,如果只调用Delete来删除,会弹出确认删除的对话框,但是由于是后台操作无法看见这个对话框,所以始终删除没有完成。将visible时才发现问题所在。

解决方法,不弹出这个提示框,workbook.displayalerts = false ,即可。(注:此处的workbook是Application)

源自:http://blog.csdn.net/huchong26/article/details/1431424



导出excel设置样式(Aspose.Cells)

1.导出excel样式大全 //设置格式 Aspose.Cells.Style style = xlBook.Styles[xlBook.Styles.Add()]; style1.Pat...
  • peng790
  • peng790
  • 2016-12-06 10:16:51
  • 5359

c#调用excel的打印预览页

Excel.Application excelApp = new Excel.Application(); //不可或缺 excelApp.Visib...
  • farcall
  • farcall
  • 2015-01-07 04:34:09
  • 2500

C#关于Excel导出及打印

添加DLL文件   Using: using Excel = Microsoft.Office.Interop.Excel;   调用: //Excel模板文件 string str...
  • u014741497
  • u014741497
  • 2014-04-16 09:26:52
  • 3040

C# 设置Excel打印选项及打印excel文档

C# 设置Excel打印选项及打印excel文档打印Excel文档是一个很常见的操作,但有时候我们会碰到各种不同的打印需求,例如只打印一个Excel工作表的其中一部分,或打印时每页都有表头,或把工作表...
  • Eiceblue
  • Eiceblue
  • 2016-05-18 17:13:38
  • 3249

C#创建、打开、读取、写入、保存Excel,Excel打印输出

摘要:本文介绍了Excel对象、C#中的受管代码和非受管代码,并介绍了COM组件在.NET环境中的使用。关键词:受管代码;非受管代码;Excel对象;动态连接库0 引言Excel是微软公司办公自动化套...
  • baogreat
  • baogreat
  • 2007-12-06 22:22:00
  • 3476

C#创建与Excel打印输出(转载)

摘要:本文介绍了Excel对象、C#中的受管代码和非受管代码,并介绍了COM组件在.NET环境中的使用。 0 引言     Excel是微软公司办公自动化套件中的一个软件,他主要是用来处理电子表格...
  • kirawoo
  • kirawoo
  • 2015-06-19 08:34:53
  • 1003

c# 对excel数据进行打印

c# 对excel数据进行打印今天写的主要就是对报表的打印部分,打印栏中一个有三个功能,分别是打印浏览,直接打印,打印设置。当点击按钮时弹出菜单栏进行打印。这个地方并不难,先在窗体的任意地方建立一个M...
  • cyg2001
  • cyg2001
  • 2016-08-11 18:13:14
  • 1038

EXCEL表格打印 C# 打印调用excel表格打印操作excel文档

  • 2011年09月06日 16:06
  • 198KB
  • 下载

Smart Form不弹出假脱机设置界面直接打印预览

Smart Form主要通过SSFCTRLOP和SSFCOMPOP两个参数来配置打印控制的。   下面是一段实施代码: DATA: ctrl_param TYPE ssfct...
  • zhongguomao
  • zhongguomao
  • 2017-08-05 17:14:32
  • 768

Excel中普通视图与打印预览内容显示不一致的解决方法

一、问题:需要打印Excel表中的内容,但在“普通视图”中将格式调好后,点击“打印预览”一看,嘿,一些单元格中的内容又不对了。而最终打印出的内容又是与“打印预览”一致的,“打印预览”有问题,打印出来势...
  • wander2
  • wander2
  • 2015-07-23 17:45:11
  • 33632
收藏助手
不良信息举报
您举报文章:C# 导出 Excel 和相关打印设置(不断更新中)
举报原因:
原因补充:

(最多只允许输入30个字)