如何在sharepoint web部件中将excel文件(xslx文件)转换为pdf

本文关键字:文件 xslx 转换 pdf excel sharepoint web | 更新日期: 2023-09-27 18:20:49

我正在开发sharepoint web部件。我已经自定义了sharepoint服务器功能区。Sharepoint服务器功能区现在包含一个按钮。点击此按钮后,我将把sharepoint库中的xlsx文件下载到本地驱动器中。现在我想把这个下载的xlsx文件转换成pdf文件。然后我想把这个pdf文件上传到sharepoint的一个文档库。为了自定义服务器功能区和处理按钮回发,我使用了以下链接,其中提供了下载的代码示例

自定义和扩展SharePoint 2010服务器功能区

代码示例对我来说运行良好。我已将xlsx文件下载到本地文件夹。现在我想将本地文件夹中下载的xlsx文件转换为pdf文件,所以我使用以下链接

将xlsx文件转换为pdf文件

上面链接中给出的代码示例也是我在控制台应用程序中的工作文件。我能够在控制台应用程序中将xlsx文件转换为pdf文件。但当我将代码复制并粘贴到sharepoint项目中时,它就不起作用了。我不明白为什么同一个代码在sharepoint项目中不起作用?代码如下

        SautinSoft.UseOffice u = new SautinSoft.UseOffice();
        //Path to any local file
        string inputFilePath =  "D:''a.xlsx";
        //string inputFilePath = "http://shailesh-pc/TemplateInvoice/Template.xlsx";
        //Path to output resulted file
        string outputFilePath = "D:''afadfasfd.pdf";
        //string outputFilePath = "http://shailesh-pc/Invoice/aa.xlsx";

        //Prepare UseOffice .Net, loads MS Excel in memory
        int ret = u.InitExcel();
        //Return values:
        //0 - Loading successfully
        //1 - Can't load MS Excel library in memory 
        if (ret == 1)
            return;
        //Converting
        ret = u.ConvertFile(inputFilePath, outputFilePath, SautinSoft.UseOffice.eDirection.XLSX_to_PDF);


        //Release MS Excel from memory
        u.CloseExcel();
        //0 - Converting successfully
        //1 - Can't open input file. Check that you are using full local path to input file, URL and relative path are not supported
        //2 - Can't create output file. Please check that you have permissions to write by this path or probably this path already used by another application
        //3 - Converting failed, please contact with our Support Team
        //4 - MS Office isn't installed. The component requires that any of these versions of MS Office should be installed: 2000, XP, 2003, 2007 or 2010
        if (ret == 0)
        {
            //Show produced file
            System.Diagnostics.Process.Start(outputFilePath);
        }       

在sharepoint项目中,我在int ret = u.InitExcel();处获得值0,但在sharepoint项目的ret = u.ConvertFile(inputFilePath, outputFilePath, SautinSoft.UseOffice.eDirection.XLSX_to_PDF);行获得值1。为什么会发生这种情况。sharepoint项目是否存在任何问题,使他们无法将xlsx文件转换为pdf?你能告诉我在sharepoint中转换pdf格式的xlsx文件需要做什么吗?你能给我提供任何代码或链接吗?我可以通过这些代码或链接将xlsx文件转换为pdf文件?

如何在sharepoint web部件中将excel文件(xslx文件)转换为pdf

请注意,Microsoft不建议在以下情况下使用Office自动化:

Microsoft目前不建议也不支持,从任何无人值守、,非交互式客户端应用程序或组件(包括ASP,ASP.NET、DCOM和NT服务),因为Office可能表现出不稳定Office在此环境中运行时的行为和/或死锁。

您可以在以下主题中查看更多详细信息:http://support.microsoft.com/kb/257757.因此,最好考虑其他选择。