Создавать документы без зависимости от программ Office?

Есть ли способ для моего приложения создать документ, который нужно будет сохранить и распечатать, без использования какого-либо внешнего программного обеспечения? В настоящее время у меня есть электронная таблица, которая выполняет кучу вычислений, а затем кнопку, которая запускает некоторый VBA для экспорта 2 листов в PDF, затем сохраняет и печатает ее. Я хочу перенести эту таблицу в приложение .NET.

У меня есть опыт со всем, КРОМЕ этого: как мне воссоздать эти 2 документа, которые в настоящее время находятся в Excel, без необходимости использовать Excel? Моя главная цель — избавиться от Excel... потому что я его ненавижу и хочу разослать это приложение клиентам по всей стране. Я действительно не хочу говорить клиентам, что им нужен Excel, чтобы использовать это. Я мог бы просто оставить это в электронной таблице, если это так.

Извините, если это что-то вроде "нуби", но я не уверен, как лучше поступить. Должен ли я пытаться имитировать мои листы Excel в 2 скрытых формах и сохранять/распечатывать их? Должен ли я написать HTML-код для создания этих форм в браузере и сохранения/печати оттуда? Есть ли здесь другие варианты? Я, вероятно, в конечном итоге сохраню как XPS, если найду способ выйти из Excel. Хотелось бы несколько указателей, если у вас есть идеи. Всем спасибо!

Изменить: немного больше информации... Мне не нужна помощь с расчетами или экспортом PDF. Мне не нужна помощь в отношении Excel или VBA. Рабочая книга имеет 1 входной лист, на который пользователи вводят данные. Результаты вычислений представлены на двух других листах этой рабочей тетради. Эти 2 листа в настоящее время экспортируются в 1 PDF-файл с использованием VBA, который затем сохраняется и распечатывается с помощью VBA. Эти электронные таблицы не являются «электронными таблицами», как вы можете подумать. На самом деле это «формы», из-за отсутствия лучшего термина, которые пользователь никогда не будет редактировать после запуска макроса для экспорта в формате PDF. Они содержат текст, изображения, фигуры и т. д. Excel — это просто среда, используемая в настоящее время для создания этих документов. Моя цель — создать этот проект в .NET и вывести нас из Excel, но я не совсем уверен, как воспроизвести эти две формы в моем приложении без использования Office. Думайте о них как о шаблонах. После того, как пользователь введет данные в мое приложение, оно выполнит некоторые вычисления, и результаты должны появиться в двух формах, которые необходимо распечатать и сохранить на компьютере пользователя. Как воссоздать эти 2 формы в .NET?

Из вас, vb.net, winforms (хотя я мог бы использовать WPF, так как я еще не начал), 4.0 framework :)


person TypeM1smatch    schedule 28.01.2014    source источник
comment
Что у вас возникли проблемы с воссозданием? экспорт в PDF, расчеты, вывод на экран? Ваш вопрос не очень понятен, на каком шаге вы застряли.   -  person Scott Chamberlain    schedule 29.01.2014


Ответы (3)


Вот что вы можете сделать:

  1. Добавьте пустой файл Excel в свои ресурсы и используйте его в качестве шаблона.

  2. Когда ваша программа должна сохранять данные, вы можете взять этот файл из ресурсов и сохранить его на жесткий диск.

  3. Подключитесь к файлу Excel, используя «Microsoft.Ace.oleDb».

  4. Сохраняйте и читайте данные в Excel так же, как если бы это была таблица базы данных — в сети есть множество примеров. Google для этого.

Для этого проекта вам не нужно приложение Excel на машине.

Теперь, если вас интересует Excel, вам не о чем беспокоиться. Например, ваши клиенты могут использовать OpenOffice. Или вы можете сохранить данные в формате CSV. CSV — это не Excel. Вы можете создать свой собственный текстовый формат, и ваши клиенты смогут читать его с помощью Блокнота. Вы можете использовать комбинацию HTML/XML, и ваша html-страница загружает любой xml, который вы предоставляете.

Серьезно, создайте электронную таблицу и скажите своим клиентам, что они могут открыть ее в своем любимом редакторе электронных таблиц.

person T.S.    schedule 28.01.2014
comment
Я знаю про OLEDB/ADO.NET, много раз им пользовался. Но моя проблема на самом деле не касается Excel. Я пытаюсь сделать свое приложение Excel независимым. Я не хочу и не нуждаюсь в электронных таблицах любого рода. Этот проект В НАСТОЯЩЕЕ ВРЕМЯ построен в книге Excel. Я хочу перенести все это на .NET, но я не уверен, как настроить шаблоны, скажем, чтобы я мог отправлять результаты своих расчетов, а затем распечатывать и сохранять на компьютере пользователя. В настоящее время Excel является просто средством ввода данных пользователями и создания этих двух симпатичных выходных листов. - person TypeM1smatch; 29.01.2014
comment
Теперь это становится более ясным, а также ясно, что ваш вопрос слишком широк. Потому что есть много способов сделать то, что вы делаете. Сначала вам нужно решить, как вы хотите, чтобы ваши пользователи вводили и читали данные. Основываясь на этом, вы можете решить, как вы собираетесь доставлять формат. Расчеты с .net просты. - person T.S.; 29.01.2014
comment
Я не думаю, что вы понимаете, о чем я спрашиваю. Создать форму для ввода данных пользователями очень просто. Расчеты несложные. Я не спрашиваю ни о том, ни о другом. После того, как пользователи ввели данные и были произведены расчеты, мне нужно распечатать и сохранить 2 шаблона, содержащих результаты расчетов. Я хочу сделать это, не используя Office или Adobe. Я не хочу, чтобы пользователям приходилось устанавливать другую программу для просмотра файлов, сохраняемых моим приложением. - person TypeM1smatch; 29.01.2014
comment
HTML-шаблон + XML-данные — пользователи могут использовать свой любимый браузер для просмотра и печати данных - person T.S.; 29.01.2014
comment
Спасибо. Я склонялся таким образом, просто нужно было немного подтолкнуть. Спасибо еще раз. - person TypeM1smatch; 29.01.2014
comment
Без проблем. Это должно быть довольно легко для вас, потому что вы можете использовать XML-атрибуты в своих объектах данных результатов и выплевывать их в текст. - person T.S.; 29.01.2014

Таким образом, вместо того, чтобы использовать стороннюю программу или что-то необычное, вы можете просто прочитать файл excel или xsl и выплюнуть его? Просто напишите код для правильного форматирования данных для пользователей... Есть аналогичный вопрос, который может помочь вам с учебным пособием - Здесь Но это для java. Вы используете c# или vb? .Нет 4.5? бритва?

person JayD    schedule 28.01.2014

Вы можете создавать PDF-файлы из кода, используя такие инструменты, как iTextSharp. Или используйте заполняемые шаблоны PDF и используйте iTextsharp для заполнения формы. Вам понадобится программа для печати PDF, я использую Foxit Reader. Я уверен, что есть несколько полнофункциональных PDF-инструментов, которые включают печать.

Вы также можете печатать из VB.Net, но я предполагаю, что смешанные медиа-документы будут трудными.

person rheitzman    schedule 29.01.2014