【.Net 学习系列】-- 利用Aspose转换Excel为PDF文件
功能:
- 从数据库中查询出数据
- 利用Aspose.cell + Excel模板绑定数据源生成Excel文件
- 通过Aspose.pdf + 生成好的Excel生成PDF文件
实现:
查询数据,根据Excel模板生成Excel文件
var comments = SQLHelper.ExecuteScalar("SELECT TOP 1 BookingOrderComments FROM dbo.BookingOrderHead WHERE BookingOrderHeadID = 181390");
//var dt = SQLHelper.ExecuteDataTable("SELECT TOP 1 BookingOrderComments FROM dbo.BookingOrderHead WHERE BookingOrderCode = 'B1709001412'"); var dt = new DataTable("tbTest");
dt.Columns.Add("BookingOrderComments");
var dr = dt.NewRow(); // 替换Tab键(含有Tab键会导致PDF出现方块乱码)
var str = cbRepleace.Checked ? comments.ToString().Replace("\t", " ") : comments.ToString();
dr.SetField<string>("BookingOrderComments", str);
dt.Rows.Add(dr); var designer = new WorkbookDesigner();
//给模板对象设置数据源
designer.SetDataSource(dt); //excel模板的地址
var excelModel = Application.StartupPath + "\\Template.xltx";
designer.Workbook = new Workbook(excelModel); designer.Process();//全自动赋值 var dialog = new FolderBrowserDialog();
dialog.Description = "请选择PDF文件保存路径";
if (dialog.ShowDialog() == DialogResult.OK)
{
//新生成的excel的保存地址
string fileToSave = dialog.SelectedPath + @"\" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xlsx";
if (System.IO.File.Exists(fileToSave) == true)
{
System.IO.File.Delete(fileToSave);
}
designer.Workbook.Save(fileToSave); txtSourcePath.Text = fileToSave;
}
生成PDF文件:
if (!Directory.Exists(txtPdfFolder.Text))
{
Directory.CreateDirectory(txtPdfFolder.Text);
} var book = new Workbook(txtSourcePath.Text.Trim());
var options = new Aspose.Cells.PdfSaveOptions()
{
OnePagePerSheet = true
}; var pdfStream = new MemoryStream();
book.Save(pdfStream, options); var pdfDocument = new Document(pdfStream); var pdfFile = this.txtPdfFolder.Text.Trim() + @"\" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".pdf";
pdfDocument.Save(pdfFile);
源代码:https://pan.baidu.com/s/1i58BDlj
【.Net 学习系列】-- 利用Aspose转换Excel为PDF文件的更多相关文章
- 利用java实现excel转pdf文件
在有些需求当中我们需要抓取字段并且填充到excel表格里面,最后将excel表格转换成pdf格式进行输出,我第一次接触这个需求时,碰到几个比较棘手的问题,现在一一列出并且提供解决方案. 1:excel ...
- Office系列---将Office文件(Word、PPT、Excel)转换为PDF文件,提取Office文件(Word、PPT)中的所有图片
将Office文件转换为PDF文件,提取Office文件中的所有图片 1.Office系列---将Office文件(Word.PPT.Excel)转换为PDF文件 1.1 基于Office实现的解决方 ...
- Ionic2+WebApi 导出Excel转Pdf文件。
步骤: 1.首先在WebApi中先把excel生成好. 2.把excel转成Pdf,并返回下载的链接. 3.Ionic2的页面做好下载的接口. 嗯~思路很清晰,那么下面就来详细的操作吧. 以下是H5的 ...
- java操作Excel、PDF文件
java操作Excel.PDF文件 分享者:Vashon 分享来源:CSDN博客 下面这些是在开发中用到的一些东西,有的代码贴的不是完整的,只是贴出了关于操作EXCEL的代码: jxl是一个*国人写的 ...
- opencv-python教程学习系列10-颜色空间转换
前言 opencv-python教程学习系列记录学习python-opencv过程的点滴,本文主要介绍颜色空间转换,坚持学习,共同进步. 系列教程参照OpenCV-Python中文教程: 系统环境 系 ...
- NPOI写Excel,Spire.XLS for.NET组件转换Excel为PDF
首先要引用NPOI动态库和Microsoft.Office.Interop.excel.dll (Microsoft.Office.Interop.excel.dll 最好使用使用NuGet下载 , ...
- NPOI写Excel,Microsoft.Office.Interop.excel.dll 转换Excel为PDF
首先要引用NPOI动态库和Microsoft.Office.Interop.excel.dll (Microsoft.Office.Interop.excel.dll 下载链接 ,下载以后解压文件,把 ...
- Office系列(1)---将Office文件(Word、PPT、Excel)转换为PDF文件
需求: 将Office文件作为文章并在网页上预览,主要为(Word.PPT.Excel)3种类型文件. 研究了一下,找到了两种解决方案 直接调用微软的在线预览功能实现(预览前提:预览资源必须可以直接通 ...
- 利用python第三方库提取PDF文件的表格内容
小爬最近接到一个棘手任务:需要提取手机话费电子发票PDF文件中的数据.接到这个任务的第一时间,小爬决定搜集各个地区各个时间段的电子发票文件,看看其中的差异点.粗略统计下来,PDF文件的表格框架是统一的 ...
随机推荐
- Java--容器/集合类(Collection)理解和使用
.数组和集合的比较 数组:长度固定,用来存放基本类型的数据 集合:长度不固定,用来存放对象的引用 二.集合类的基本概念 1.java.util包中提供了一些集合类,这些集合类也被称为容器. 常用的集合 ...
- [POJ] 1135 Domino Effect
Domino Effect Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 12147 Accepted: 3046 Descri ...
- VS搭建一个WEB的简历第二天,,,最终目标写个好看的简历,再搭建一个自己脑海的网页
VS做简历的第二天 第二天吸取了第一天的教训写的代码 第一天写的代码https://www.cnblogs.com/pythonywy/p/10816215.html,写了一堆错误T T 非常感谢Li ...
- Python常见文件操作的函数示例
# -*-coding:utf8 -*- ''''' Python常见文件操作示例 os.path 模块中的路径名访问函数 分隔 basename() 去掉目录路径, 返回文件名 dirname() ...
- 俯瞰spring
[简化Java开发] 基于POJO的轻量级和最小入侵性编程: 通过依赖注入和面向接口实现松耦合: 基于切面和惯例进行声明式编程: 通过切面和模板减少样板代码: [容纳你的bean] 容器是spring ...
- 创建安卓模拟器的两种方式及常用Android命令介绍
创建安卓模拟器有以下两种方式: 1>通过图形界面创建,在Eclipse中单击Windows->Android Virtual Device Manager启动图形界面窗口 2>如果用 ...
- 利用Node.js调用Elasticsearch
1. 下载elasticsearch库 npm install elasticsearch --save 2.在脚本里导入模块,如下所示 const elasticsearch = require(' ...
- 五、docker配置镜像加速器之阿里云
1 配置docker加速器 实在忍受不了pull的速度--------- 访问网址: https://dev.aliyun.com/search.html 点击管理中心: 根据操作稳定配置:
- Linux基础命令详解-2
本篇详解的命令有以下30个 1.rmdir 功能:删除一个空目录 2.telnet 功能:使用telnet协议连接到主机的指定端口 3.vim 功能:编辑器之神 vim三种模式的功能及其转换 ...
- Java程序员---技能树
计算机基础: 比如网络相关的知识. 其中就包含了 TCP 协议,它和 UDP 的差异.需要理解 TCP 三次握手的含义,拆.粘包等问题. 当然上层最常见的 HTTP 也需要了解,甚至是熟悉. 这块推荐 ...