1.常见用法

          using Microsoft.Office.Interop.Excel;

   1)新建一个Excel
ApplicationClass ExcelApp = New ApplicationClass();
    Microsoft.Office.Interop.Excel.Workbook book = ExcelApp.Workbooks.Add(); 
2) 更改 Excel 标题栏:
 ExcelApp.Caption := '应用程序调用 Microsoft Excel';
3) 添加新工作簿:
 ExcelApp.WorkBooks.Add;
4) 打开已存在的工作簿:
 ExcelApp.WorkBooks.Open( 'C:\Excel\Demo.xls' );
5) 设置第2个工作表为活动工作表:
 ExcelApp.WorkSheets[2].Activate; 或
 ExcelApp.WorksSheets[ 'Sheet2' ].Activate;
6) 给单元格赋值:
 ExcelApp.Cells[1,4].Value := '第一行第四列';
7) 设置指定列的宽度(单位:字符个数),以第一列为例:
 ExcelApp.ActiveSheet.Columns[1].ColumnsWidth := 5;
8) 设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:
 ExcelApp.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米
9) 在第8行之前插入分页符:
 ExcelApp.WorkSheets[1].Rows[8].PageBreak := 1;
10) 在第8列之前删除分页符:
 ExcelApp.ActiveSheet.Columns[4].PageBreak := 0;
11) 指定边框线宽度:
 ExcelApp.ActiveSheet.Range[ 'B3:D4' ].Borders[2].Weight := 3;
 1-左 2-右 3-顶 4-底 5-斜( \ ) 6-斜( / )
12) 清除第一行第四列单元格公式:
 ExcelApp.ActiveSheet.Cells[1,4].ClearContents;
13) 设置第一行字体属性:
 ExcelApp.ActiveSheet.Rows[1].Font.Name := '隶书';
 ExcelApp.ActiveSheet.Rows[1].Font.Color := clBlue;
 ExcelApp.ActiveSheet.Rows[1].Font.Bold := True;
 ExcelApp.ActiveSheet.Rows[1].Font.UnderLine := True;
14) 进行页面设置:
 a.页眉:
 ExcelApp.ActiveSheet.PageSetup.CenterHeader := '报表演示';
 b.页脚:
 ExcelApp.ActiveSheet.PageSetup.CenterFooter := '第&P页';
 c.页眉到顶端边距2cm:
 ExcelApp.ActiveSheet.PageSetup.HeaderMargin := 2/0.035;
 d.页脚到底端边距3cm:
 ExcelApp.ActiveSheet.PageSetup.HeaderMargin := 3/0.035;
 e.顶边距2cm:
 ExcelApp.ActiveSheet.PageSetup.TopMargin := 2/0.035;
 f.底边距2cm:
 ExcelApp.ActiveSheet.PageSetup.BottomMargin := 2/0.035;
 g.左边距2cm:
 ExcelApp.ActiveSheet.PageSetup.LeftMargin := 2/0.035;
 h.右边距2cm:
 ExcelApp.ActiveSheet.PageSetup.RightMargin := 2/0.035;
 i.页面水平居中:
 ExcelApp.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035;
 j.页面垂直居中:
 ExcelApp.ActiveSheet.PageSetup.CenterVertically := 2/0.035;
 k.打印单元格网线:
 ExcelApp.ActiveSheet.PageSetup.PrintGridLines := True;
15) 拷贝操作:
 a.拷贝整个工作表:
 ExcelApp.ActiveSheet.Used.Range.Copy;
 b.拷贝指定区域:
 ExcelApp.ActiveSheet.Range[ 'A1:E2' ].Copy;
 c.从A1位置开始粘贴:
 ExcelApp.ActiveSheet.Range.[ 'A1' ].PasteSpecial;
 d.从文件尾部开始粘贴:
 ExcelApp.ActiveSheet.Range.PasteSpecial;
16) 插入一行或一列:
 a. ExcelApp.ActiveSheet.Rows[2].Insert;
 b. ExcelApp.ActiveSheet.Columns[1].Insert;
17) 删除一行或一列:
 a. ExcelApp.ActiveSheet.Rows[2].Delete;
 b. ExcelApp.ActiveSheet.Columns[1].Delete;
18) 打印预览工作表:
 ExcelApp.ActiveSheet.PrintPreview;
19) 打印输出工作表:
 ExcelApp.ActiveSheet.PrintOut;
20) 工作表保存:
 if not ExcelApp.ActiveWorkBook.Saved then
 ExcelApp.ActiveSheet.PrintPreview;
21) 工作表另存为:
 ExcelApp.SaveAs( 'C:\Excel\Demo1.xls' );
22) 放弃存盘:
 ExcelApp.ActiveWorkBook.Saved := True;
23) 关闭工作簿:
 ExcelApp.WorkBooks.Close;
24) 退出 Excel:
 ExcelApp.Quit;
2.利用Microsoft.Office.Interop.Excel 将web页面转成PDF
 1)首先将web页面html保存为EXCEL文件
StringWriter html = new StringWriter();
HtmlTextWriter tw = new HtmlTextWriter(html);
base.Render(tw); //excelName存放Excel的地址
FileStream fs = new FileStream(excelName, FileMode.Create);
StreamWriter sw = new StreamWriter(fs, Encoding.GetEncoding("utf-8"));
//开始写入
sw.Write(html);
//清空缓冲区
sw.Flush();
//关闭流
sw.Close();
fs.Close();

       2)然后利用Microsoft.Office.Interop.Excel将EXCEL 转成PDF

          首先引用 Microsoft.Office.Interop.Excel.dll,并设置 dll 的属性值无法嵌入互操作类型 为false 。否则会报 类型“Microsoft.Office.Interop.Excel.ApplicationClass”未定义构造函数    无法嵌入互操作类型“Microsoft.Office.Interop.Excel.ApplicationClass”。请改用适用的接口 错误。

然后安装 SaveAsPDFandXPS.exe (安装此插件才能将excel 另存为 pdf)

源代码如下:

/// <summary>
/// Excel保存PDF
/// </summary>
/// <param name="excelPath"> EXCEL全路径 </param>
/// <param name="pdfPath"> PDF保存路径 </param>
/// <returns></returns>
public static bool CovertExcelToPDF( string excelPath, string pdfPath)
{
object missing = Type .Missing;
////创建excel应用程序实例
ApplicationClass application = null ;
////创建工作薄实例
Workbook workBook = null ;
try
{
application = new ApplicationClass ();
////打开工作簿
workBook = application.Workbooks.Open(excelPath, missing, missing, missing, missing, missing,
missing, missing, missing, missing, missing, missing, missing, missing, missing);
////打开sheet
Worksheet ws = (Worksheet )workBook.Worksheets.Item[1];
////设置打印放放为水平
ws.PageSetup.Orientation = XlPageOrientation .xlPortrait;
////设置打印时excel内容在一个页面上显示。Zoom必须设置为false
ws.PageSetup.Zoom = false ;
ws.PageSetup.FitToPagesTall = 1;
ws.PageSetup.FitToPagesWide = 1; ////将工作簿发布为PDF或XPS格式
ws.ExportAsFixedFormat( XlFixedFormatType .xlTypePDF, pdfPath
, XlFixedFormatQuality .xlQualityStandard
, true
, false ////忽略打印区域
, missing, missing, missing, missing);
return true ;
}
catch
{
throw ;
}
finally
{
////工作簿关闭
if (workBook != null )
{
workBook.Close( true , missing, missing);
workBook = null ;
}
//// excel应用程序退出关闭
if (application != null )
{
application.Quit();
application = null ;
}
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();
GC.WaitForPendingFinalizers();
}
}

非原创,转载总结

http://www.cnblogs.com/ttrjba/p/3873538.html

http://www.cnblogs.com/yuteng/articles/1753767.html

https://msdn.microsoft.com/zh-cn/library/ms173186(VS.80).aspx

Microsoft.Office.Interop.Excel的用法以及利用Microsoft.Office.Interop.Excel将web页面转成PDF的更多相关文章

  1. 利用Microsoft.Office.Interop.Excel 将web页面转成PDF

    网上有很多将Web页面转成PDF的方法,还有许多收费的第三方插件.其实利用Office 自带的将EXCEL发布成PDF的功能就可以实现,如果你的需求没有多复杂,可以采用笔者的方法. 首先将web页面h ...

  2. Web页面转换成Word文件,利用wordXML

    简介:处理流程表单数据以WordXML形式填充Word文档表格换行符丢失问题 //将前台收集的XML中“$”循环拆分成"<w:br/>" by pengyc 解决表格填 ...

  3. 利用FlashPaper在web页面中显示PDF文件(兼容各浏览器)

    应项目需求要把PDF内嵌到网页中显示,其中有了很多办法,比如用<embed/>元素放入PDF文件,但是效果不理想,浏览器兼容不理想,在ie9/8(其他版本没有测试)显示会提示下载pdf文件 ...

  4. 利用itext将html页面转成pdf(不模糊)

    1.maven项目进入依赖 <dependency> <groupId>org.xhtmlrenderer</groupId> <artifactId> ...

  5. C#将Word转换成PDF方法总结(基于Office和WPS两种方案)

    有时候,我们需要在线上预览word文档,当然我们可以用NPOI抽出Word中的文字和表格,然后显示到网页上面,但是这样会丢失掉Word中原有的格式和图片.一个比较好的办法就是将word转换成pdf,然 ...

  6. 利用Com组件产Excel完整操作

    最近公司要批次产出报表,是利用控制台应用程序操作Excel,并设置各种样式. 在网上搜索此类的例子,但是感觉一些用法都已经发生了变化,我用的.net 4.0 ,Microsoft.Office.Int ...

  7. 一篇说尽Excel常见函数用法

    一篇说尽Excel常见函数用法 Word,PPT,Excel这三个Office软件是职场办公里最常用的三个软件,但是我发现简书上写PPT的教程多,Excel的少,即使有,也是零零散散.因为Excel的 ...

  8. 利用C#实现对excel的写操作

    一.COM interop 首先我们要了解下何为COM Interop,它是一种服务,可以使.NET Framework对象能够与COM对象通信.Visual Studio .NET 通过引入面向公共 ...

  9. Html Table用JS导出excel格式问题 导出EXCEL后单元格里的000412341234会变成412341234 7-14 会变成 2018-7-14(7月14) 自定义格式 web利用table表格生成excel格式问题 js导出excel增加表头、mso-number-format定义数据格式 数字输出格式转换 mso-number-format:"\@"

    Html Table用JS导出excel格式问题 我在网上找的JS把HTML Tabel导出成EXCEL.但是如果Table里的数字内容为0开的的导成Excel后会自动删除0,我想以text的格式写入 ...

随机推荐

  1. 李洪强iOS经典面试题155 - const,static,extern详解(面试必备)

    李洪强iOS经典面试题155 - const,static,extern详解(面试必备) 一.const与宏的区别(面试题): const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽 ...

  2. [Android] 时间Time Date 以及Location中gettime

    import android.text.format.Time; 还有一个是Date Location中的gettime, 这几个每个默认的格式都不一样,直接输出字符串各自得到了不同 比如按照获取当前 ...

  3. swfupload纠结bug总结

    上传控件传到客户端的信息在IE7下乱码: 服务端 HttpUtility.UrlEncode,客户端 decodeURIComponent 上传大文件报404错: 用fiddler截取发现提示: 最可 ...

  4. [LintCode] Linked List Cycle 单链表中的环

    Given a linked list, determine if it has a cycle in it. ExampleGiven -21->10->4->5, tail co ...

  5. 深入理解css BFC 模型

    如果要深入理解css布局的各种原理,要在重构页面做得心应手的话,那么你就必须先理解这玩意 "BFC" , BlockFormatting Context(块级格式化上下文): 这里 ...

  6. C\C++中声明与定义的区别

    声明和定义是完全同的概念,声明是告诉编译器"这个函数或者变量可以在哪找到,它的模样像什么".而定义则是告诉编译器,"在这里建立变量或函数",并且为它们分配内存空 ...

  7. 【转】Artificial Neurons and Single-Layer Neural Networks

    原文:written by Sebastian Raschka on March 14, 2015 中文版译文:伯乐在线 - atmanic 翻译,toolate 校稿 This article of ...

  8. 关于OpenStack的学习路线及相关资源汇总

    首先我们想学习openstack,那么openstack是什么?能干什么?涉及的初衷是什么?由什么来组成?刚接触openstack,说openstack不是一个软件,而是由多个组件进行组合,这是一个更 ...

  9. TaintDroid剖析之Native方法级污点跟踪分析

    1.Native方法的污点传播 在前两篇文章中我们详细分析了TaintDroid对DVM栈帧的修改,以及它是如何在修改之后的栈帧中实现DVM变量级污点跟踪的.现在我们继续分析其第二个粒度的污点跟踪—— ...

  10. Linux环境下部署完JDK后运行一个简单的Java程序

    前言 前一篇文章详细讲解了如何在Windows环境下安装虚拟机+Linux系统,并且成功部署了JDK. 不过部署完JDK之后,我们判断部署是否成功的依据是看"java -version&qu ...