Excel to PDF without office

13,953

Solution 1

Instead of using Excel to layout your reports, use HTML. It is much more flexible, and pretty much the easiest tool for laying out data for end users. Then look up one of the many HTML to PDF solutions (wkhtmltopdf, installing a print to pdf driver, etc.)

Solution 2

Another good option is to use Spire.XLS. Though it will display evaluation warning at the top but you can get rid of it using FreeSpire.XLS. Below is the link for it https://www.nuget.org/packages/FreeSpire.XLS/

And below is the code snippet taken from

https://forums.asp.net/t/2087645.aspx?Saving+xlsx+to+pdf

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using Spire.Xls; 

namespace ConvertExcelToPdf 
{ 
    class Program 
    { 
        static void Main(string[] args) 
        { 

            Workbook workbook = new Workbook(); 
            workbook.LoadFromFile(@"..\..\sample2.xlsx"); 
            workbook.ConverterSetting.SheetFitToPage = true; 
            workbook.SaveToFile(@"..\..\sample.pdf", FileFormat.PDF); 
            System.Diagnostics.Process.Start(@"..\..\sample.pdf"); 
        } 
    } 
} 

Solution 3

An alternative solution for generating PDF from excel using OpenOffice and C#:

Generate PDF using C#

Share:
13,953
user2153497
Author by

user2153497

Updated on June 10, 2022

Comments

  • user2153497
    user2153497 almost 2 years

    I need to generate PDF reports in a windows application I'm working on, and I do this by exporting an .xlsx file to pdf. I'm currently using interop for this, however:

    • I need to do this without requiring the users to buy software, so no microsoft office excel.
    • I also can't use any heavy dependencies (like open/libre office).
    • the application is in .NET winforms and is local (not dependent on an internet connection).

    Things I tried:

    • I have tried iTextSharp but this gets really complicated with things like overflowing columns.
    • Tried closedXML but there couldn't convert to PDF.
    • (As mentioned earlier) Tried interop but couldn't find a way to make it independent on office.

    Help would be appreciated, thank you in advance :)

    edits:

    iTextSharp

    I would use it except I need to export a big DataTable that has a variable number of columns (up to 30 columns), and if there are many columns then It gets really complicated to handle that column overflow, which was easy in interop.

    Aspose

    Appears to be too expensive, since I work for a small company that is currently very limited in resources.