2013-02-20 9 views
-3

Я использую Microsoft.ACE.OleDb для записи данных в excel. Я хочу форматировать рабочий лист только с помощью Microsoft.ACE.OleDb? Мое требование - я не хочу использовать сторонние библиотеки, такие как Microsoft.InterOp и EPPlus. Как я могу это сделать?Как форматировать рабочий лист Excel?

+0

пожалуйста, покажите исходный код ... что вы пробовали? что точно не работает (сообщение об ошибке/ошибке)? – Yahia

+0

Вы уже не спрашивали об этом [http://stackoverflow.com/questions/14970988/how-to-do-formatting-in-excel-by-using-c/)? – andri

+0

[faq] (http://stackoverflow.com/faq) должен читать ': D' – spajce

ответ

2

Нет, вы не можете. Microsoft.ACE.OleDb позволяет управлять данными, а не для форматирования ячеек и текста

Если вы не хотите использовать Interop.Excel, вы должны смотреть на Late binding

0

Единственный надежный способ создать реальную таблицу Excel с форматированием использует Aspose.Cells для .NET.

Также есть ExcelPackagePlus на CodePlex, который является открытым исходным кодом, но у него есть ошибка, которая препятствует чтению или записи наборов данных, когда ваш текст содержит недопустимый URL-адрес www/mail-Link. пароль, содержащий знак @, с excel, неправильно интерпретирующий это как ссылку.

Существует также carlosag.excelwriter, но на самом деле он не создает файл excel, он создает XML-файл, который можно прочитать и отобразить с помощью excel. Excel 2010 однако выдает предупреждение «Недействительный файл excel», который может потенциально отпугнуть пользователей.

Я бы не рекомендовал использовать ACE.OleDb, вы столкнетесь с проблемами 32/64 бит, поскольку драйверы ACE уже находятся в режиме жизнеобеспечения и устарели и, следовательно, недоступны в 64-битных окнах (если у вас есть 64-разрядный превосходно).

По этой же причине я бы не использовал Interop.Excel.

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