【.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文件的表格框架是统一的 ...
随机推荐
- 【动态规划】luoguP1941 飞扬的小鸟
细节总是打挂选手:) 题目描述 Flappy Bird是一款风靡一时的休闲手机游戏.玩家需要不断控制点击手机屏幕的频率来调节小鸟的飞行高度,让小鸟顺利通过画面右方的管道缝隙.如果小鸟一不小心撞到了水管 ...
- Spring容器的理解
控制反转(IOC,Inversion Of Contorl)和依赖注入(DI,Dependency Injection) IOC是一个宽泛的概念:对某事物的控制权由A转移到B. DI是实现IOC的一种 ...
- cdev结构体
在内核源码include/linux/cdev.h里对cdev结构体的定义: struct cdev { struct kobject kobj; // 内嵌的kobject对象 struct mo ...
- 树形 dp
// ACM训练联盟周赛 C. Teemo's tree problem There is an apple tree in Teemo's yard. It contains n nodes ...
- PAT Basic 1031
1031 查验身份证(15)(15 分) 一个合法的身份证号码由17位地区.日期编号和顺序编号加1位校验码组成.校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8, ...
- Python 轻量化简繁转换
最近项目中用到了简单的简繁转换,如果用OpenCC太重了,于是搜到了 zhconv 这个库. zhconv 提供基于 MediaWiki 词汇表的最大正向匹配简繁转换,Python 2, 3 通用. ...
- as eclipse 对比
eclipse目录结构 src:存放prj源码 gen:自动生成文件,R类存放资源文件的唯一id android+版本:项目jar包 assets:res存放资源文件,不会被gen生成资源id,同过a ...
- eclipse中tab键设置
1.点击 window->preference-,依次选择 General->Editors->Text Editors,选中右侧的 insert space for tabs;如下 ...
- JavaScript括号中什么什么不加引号什么时候加引号?
*****我的QQ号:1539832180.欢迎一起讨论学习.***** 1.如果是你定义的变量,不能加引号. 因为在大多数语言里面,单引号(或双引号)里面的内容表示的都是字符串. 2.如果是你定义的 ...
- [转]Mac屏幕录像转成gif
http://note.axiaoxin.com/contents/mac-video2gif.html 屏幕录像 打开Quicktime Player -> 文件 -> 新建屏幕录像 - ...