如何在不使用excel互操作库的情况下将excel工作簿转换为 pdf

我有一个 xlsx 文件,其中包含每个表格中的图表。我想将其保存为 pdf 文件。

我有一个 xlsx 文件,其中包含每个表格中的图表。我想将其保存为 pdf 文件。

我用 excel.interop 做了一个样本:

Application excelApplication = new Application();
Workbook wkb = excelApplication.Workbooks.Open(oSlideMaster._FILE_PATH, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, Microsoft.Office.Interop.Excel.XlCorruptLoad.xlNormalLoad);
var basePath = HttpRuntime.AppDomainAppPath;
wkb.ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, ExportExcelToPdfFullPathWithoutExt);

此代码在 Visual Studio 上工作,但在没有安装 MS Office 2007 或更高版本的服务器上不起作用。

问题是:

如何在不使用 excel.interop 库的情况下将(免费)excel 转换为 pdf(包括图表)。因为我不想在服务器端安装 ms office。

重点是:我尝试了一些 dll 将 excel 转换为 pdf,但我无法转换 CHARTS 只有文本我可以成功转换。

谢谢

下载file

Sample excel data

1

试试这段代码。

 excelworkBook.SaveAs(saveAsLocation);
 excelworkBook.Close();
 excel.Quit();
 bool flag=SaveAsPdf(saveAsLocation);

其中saveAsLocationexecelworkBook的完整路径。之后,使用库Spire.Xls将其转换为 pdf。为此,请添加引用Spire.Xls,可以使用Manage Nuget Packages将其添加到您的项目中。

private bool SaveAsPdf(string saveAsLocation)
  {
    string saveas = (saveAsLocation.Split('.')[0]) + ".pdf";
      try
        {
          Workbook workbook = new Workbook();
          workbook.LoadFromFile(saveAsLocation);
          //Save the document in PDF format
          workbook.SaveToFile(saveas, Spire.Xls.FileFormat.PDF);
          return true;
        }
       catch (Exception ex)
         {
           MessageBox.Show(ex.Message);
           return false;
         }
  }
0

http://www.gemboxsoftware.com/Spreadsheet/downloads下载 dll

添加引用和代码

using System;
using System.Drawing;
using System.Text;
using GemBox.Spreadsheet;
class Sample
{
    [STAThread]
    static void Main(string[] args)
    {
        // If using Professional version, put your serial key below.
        SpreadsheetInfo.SetLicense("FREE-LIMITED-KEY");
        ExcelFile ef = ExcelFile.Load("test.xlsx");
        ef.Save("Convert.pdf");
    }
}
0

您可以考虑Aspose.Cells作为任务。请参阅示例.NET 代码以供参考:

例如

示例代码:

// Open an Excel file 
Workbook workbook = new Workbook("Book1.xlsx"); 
// Save the document in PDF format 
workbook.Save("output.pdf", SaveFormat.Pdf);

另外,请参阅document以供参考。

PS。我在 Aspose 担任支持开发人员 / 传教士。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(702)
CSS三角形是如何工作的
上一篇
使用JavaScript将CSS属性添加到元素
下一篇

相关推荐

  • qt creator快速入门 第3版 pdf从零开始

    Qt Creator快速入门第3版是一本关于Qt Creator的教程书,旨在帮助读者快速掌握Qt Creator的使用。书中介绍了Qt Creator的基本功能,如如何创建项目、编辑代码、调试代码以及创建应用程序等等。书中还提供了一些实例代码,帮助读者更好地理解Qt Creator的用法。…

    2023-10-20 15:19:34
    0 64 25
  • java 转pdfDocument document = new Document();document.addTitlePag

    Java 转 PDF 是指将 Java 应用程序的文本、图像、表格等内容转换为 PDF 格式的文件。这种转换可以使用不同的工具实现,其中包括 iText、Apache PDFBox 等开源库。…

    2024-03-01 10:04:37
    0 12 54
  • qt quick核心编程pdf深入理解Qt Quick的基础和应用

    Qt Quick Core Programming是一本关于Qt Quick的技术书籍,主要介绍了Qt Quick的基础知识、技术和应用。书中介绍了Qt Quick的基本原理、基本概念、核心功能和实际应用,并结合代码实例,帮助读者更好地理解Qt Quick的核心概念和应用。…

    2024-01-15 04:21:16
    0 37 17
  • 沃尔沃c90轿跑:在哪里可以找到PDF格式的C89/C90标准(ansi c standard pdf)

    关于沃尔沃c90轿跑的问题,在ansi c standard pdf中经常遇到,我正在寻找C89/C90 standard的免费版本,但我在任何地方都找不到它!为什么这么难找到它?…

    2022-12-18 12:17:05
    0 96 93
  • 2天新生儿c反应蛋白高:30天的反应(第4天 )pdf(30 days of react pdf)

    关于2天新生儿c反应蛋白高的问题,在30 days of react pdf中经常遇到,我正在关注30 days of react pdf for day 4,我似乎无法让 css 呈现。我可以得到文本和图像来显示。我试图基本上复制 helloworld 概念,但我现在把所有东西都放在一个 html 中。我也尝试了 github 的 day 4 示例,index.html 也不呈现任何内容。因此,如果有人知道原因,请帮助我。提前感谢。…

    2022-12-10 07:20:50
    0 20 33
  • Pdf如何裁剪文件中一部分:如何删除PDF的一部分(how to delete part of a pdf document)

    关于Pdf如何裁剪文件中一部分的问题,在how to delete part of a pdf document中经常遇到,很久以前,我使用了一个在线工具,该工具以 PDF 格式生成了报告。我再也无法访问该工具。我需要与某人共享 PDF,但需要覆盖或删除一小部分机密文本。…

    2022-12-27 10:07:18
    0 93 14
  • 什么是pdf文件:什么是pdfbcmap文件

    关于什么是pdf文件的问题,在bcmap中经常遇到,我在我的 Web 应用程序中使用 pdfjs 查看器,它附带了所有这些 bcmap 文件。我跟踪了网络流量,他们没有被要求。…

    2022-12-11 15:57:26
    0 38 56
  • Cdr怎么存pdf:php库以任何合理的格式转换 cdr文件

    关于Cdr怎么存pdf的问题,在pdf cdr中经常遇到,我正在寻找一个能够以任何基于光栅的图像格式(jpg,gif)转换CDR files的 php 模块。…

    2022-11-29 14:38:28
    0 36 83

发表评论

登录 后才能评论

评论列表(64条)