2010-10-18 3 views
2

Я использую excel через vb.net/asp.net для создания отчетов с веб-страницы, а затем отправляю файл пользователю. У нас были некоторые проблемы с тем, что Excel был слишком медленным/неэффективным/не закрывающим (даже если мы отслеживаем идентификатор процесса и пытаемся его убить в коде ...). Поэтому я ищу некоторые гибкие альтернативы. Нам нужна замена, которая может:Альтернатива Excel как генератор отчетов ASP.Net

  • Разрешить inidivdual форматирования ячеек, включая границы (различные настройки на каждой стороне), цвет фона, стили шрифтов/раскраску и т.д ...
  • Разрешить объединение ячеек
  • Разрешить для форматирования (жирного шрифта в данном случае) в части текста внутри ячейки, оставляя остальную часть текста без изменений
  • вставки изображения/перестановки в клетку (не критично)
  • несколько листов в учебном пособие

Это все функции, которые я могу придумать из рук в руки, любая помощь или предложение альтернативных библиотек, на которые следует обратить внимание, будут оценены. Мы запускаем Excel 2007 на сервере, но мы развертываем Office 2010 для клиентов, поэтому я думаю, что это может открыть двери для некоторых поддерживаемых форматов файлов, если это поможет.

ответ

0

Просмотрев различные варианты и проведя более независимые исследования, я в конечном итоге использовал EPPlus, который вы можете получить @http://epplus.codeplex.com.

Спасибо за все предложения.

0

GNU plot немного боли, чтобы работать на окна, но это удивительный инструмент

0

Это звучит, как вы используете библиотеку, которая открывает Excel и использует объекты MS Office Excel для создания Excel файл. Поскольку вы используете 2007 и выше, вы можете захотеть создать файл Excel вручную, используя библиотеку, которая создает XML (поэтому Excel вообще не открывается).

Отъезд ExcelLibrary.

Выполняя поиск по этому вопросу, я нашел this page (on StackOverflow), который содержит пример кода.

0

Office Web Components (хотя датирован) является бесплатным и работал для меня в прошлом.

Если вы хотите провести добычу, Aspose Cells - это также хороший способ пойти.

0

Я рекомендую вам использовать DevExpress.XtraReports из DevExpress. Это лицензионный продукт, но предлагает вам удобный инструментарий для создания отчетов о больших и сложных уровнях. Он хорошо документирован и прост в использовании, как только вы определяете шаблон (REPX), вы можете заполнить его данными, присвоив каждому элементу значение, а также используя функцию [mail merge], которая будет автоматически заменена после привязки с данные отчета. В основе такой технологии лежит хорошо продуманный дизайн классов. После того, как вы генерации отчета вы можете экспортировать его в наиболее распространенных форматах: XLS, HTML, PDF, RTF ...

public void GenerateReportFile(string rptFileName, string param1, int param2) 
{ 
    XtraReport report = null; 
    try 
    { 
     report = new XtraReport(); 
     //-- loads the layout template (repx file) 
     report.LoadLayout("SomeDirectory\report_template.repx"); 
     //-- assign data to report controls 
     report.FindControl("Label1", true).Text = string.Format("{0:dd/MM/yyyy}", fecha1); 
     report.FindControl("Label2", true).Text = string.Format("{0:dd/MM/yyyy}", fecha1); 
     //-- gets data from some Data Acces Layer method and assig it to the report DataSource property 
     DALReport dal = new DALReport(); 
     report.DataSource = dal.GetReport1Data(ExpEmp, param1, param2); 
     report.DataMember = "data"; 
     report.ExportToPdf(rptFileName, options); 
    } 
    catch { throw; } 
    finally { if (report != null) { report.Dispose(); } report = null; } 
} 

Для получения дополнительной информации относится к: http://demos.devexpress.com/XtraReportsDemos/

Существует еще одна бесплатная библиотека для .Net iTextSharp, эта библиотека была первоначально написана для Java, а затем была переведена на C# для .Net использования. Библиотека предназначена главным образом для создания PDF-документов, но некоторые версии также поддерживают создание документов XLS.

Смежные вопросы