如何在不使用Excel Interop库的情况下将Excel工作簿转换为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,但是我无法转换图表,只有文本可以成功转换。

谢谢。

下载文件

样本Excel数据

VVN

尝试以下这段代码。

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

saveAsLocation是。的完整路径execelworkBook。之后,使用库将其转换为pdf Spire.Xls。为此,添加引用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;
         }
  }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在不使用库函数的情况下将字符串转换为数字

如何在不使用Jackson Api的情况下将Java中的字符串转换为List <String>

Scala-如何在不使用GMT后缀的情况下将LocalDateTime转换为ZonedDateTime格式?

如何在不使用to_string或stoi的情况下将int转换为C ++ 11中的字符串?

如何在不使用toupper函数的情况下将char转换为大写

如何在不使用AJAX的情况下使用json_decode将JSON.stringify转换为PHP?

PostgreSQL:如何在不使用中间hstore的情况下将键值表转换为json

如何在不使用ActiveWindow的情况下使用VBA在excel中关闭网格线

如何在不使用不安全代码的情况下将float转换为二进制?

如何在不使用Pyspark中的collect()方法的情况下将pyspark.rdd.PipelinedRDD转换为数据框?

如何在不使用Gson的情况下将JSON转换为数组

如何在不使用向导的情况下从表单视图打印Excel文件

如何在不使用生命周期规则的情况下将S3 Standard转换为Glacier

如何在不修改第一行的情况下使用熊猫将excel文件转换为csv文件?

如何在不使用Object.assign的情况下使用javascript将数组转换为Object

如何在不使用nilcheck的情况下将nil值转换为true

如何在不使用循环的情况下将数组转换为Javascript中的对象?

如何在不使用键的情况下将json转换为数组

如何在不使用幻数的情况下将“字符数”转换为int?(在C ++中)

如何在不安装插件的情况下将Excel数据转换为mysql

如何在不使用groff的情况下将Linux手册页转换为HTML?

如何在不使用ms.interop.word参考的情况下将word文件转换为imges文件

如何在不使用eval的情况下将字符串转换为dateutil工作日元组

如何在不使用doubleval函数的情况下将字符串转换为php中的double?

如何在不使用 for 循环的情况下将 List(Int) 转换为 Int

如何在不使用 Room 的情况下将行 JSON 响应转换为 LiveData?

如何在不使用 csv 文件的情况下将 JSON 数据即时转换为 CSV 格式

如何在不使用 SQL 的情况下将 Dataframe 的多行转换为 Scala 中的单行(使用 Dataframe API)?

如何在不使用 Dataweave 中的列名的情况下创建 Excel 文件键值映射?