Men*_*ano 6 c# pdf asp.net excel office-interop
我有一个 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);
Run Code Online (Sandbox Code Playgroud)
此代码适用于 Visual Studio,但不适用于未安装 MS Office 2007 或更高版本的服务器。
问题是:
我如何在不使用 excel.interop 库的情况下将(免费)excel 转换为 pdf(包括图表)。因为我不想在服务器端安装MS Office。
重点还在于:我尝试了一些 dll 将 excel 转换为 pdf,但我无法转换 CHARTS,只有我可以成功转换的文本。
谢谢。
下载文件。
尝试使用以下这段代码。
excelworkBook.SaveAs(saveAsLocation);
excelworkBook.Close();
excel.Quit();
bool flag=SaveAsPdf(saveAsLocation);
Run Code Online (Sandbox Code Playgroud)
其中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;
}
}
Run Code Online (Sandbox Code Playgroud)