
正文
【.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






