2014-12-12 4 views
-3

У меня есть шаблон excel, который был создан в «Office 2003». Говоря это, мне нужно создать новую книгу из этого существующего шаблона программно. Также, если есть какие-либо вещи, которые могут вызвать ошибку, например заблокированные ячейки, скрытые формулы, скрытые листы и т. Д., Пожалуйста, укажите их.Создание рабочих книг из шаблонов программно

несколько вещей, которые могли бы быть помочь полной знать

  1. Я модернизировал от офиса 2003 -> Office 2010, однако формат файла Excel 2007.

  2. Есть более чем 303 строк и 26 столбцов, каждая из которых содержит свою собственную уникальную формулу (то есть только на одном листе), всего, вероятно, более 700 строк и 100 столбцов (до добавления каких-либо дополнительных листов), каждая из которых содержит свои собственные относительно уникальные формулы. ##

  3. Некоторые ячейки и рабочие листы заблокированы, чтобы предотвратить ошибки, вызванные пользователем, или пользовательские вмешательства со встроенными формулами.

  4. Этот шаблон предназначен для нескольких людей, каждый из которых имеет свои компьютеры. Я не могу гарантировать, что файлы будут находиться в одном месте на каждом отдельном компьютере пользователя.

Информация о программном обеспечении:

Visual Studio 2013 Office 2010 Office 2003

+0

Я прочитал больше половины документации MSDN, я прочитал 3 - 4 различных книг, проблема, являющаяся, что они обычно не упоминают версии совместимость. –

ответ

0

Найденное решение!

в vs2013, они предлагают Excel 2007 надстройки, в этой предопределенной совместимости, есть способ, чтобы создать файл из шаблона, та часть, которая бросала меня была часть параметров, показывает:

"Type.missing". пример этого кода структуры будет выглядеть следующим образом:

//the #region is simply so that if copied and pasted, the code will make sense, and there will be a label encapsulating the specific code lines. *Note it does not affect the results 
#region add workbook from template file 
Excel.Application f; 
//the following line is written assuming that you would have already made sure that excel was in the Running Objects Table (ROT) 
f=(Excel.Application)Marshal.GetActiveObject("Excel.Application"); 
f.visible=true; 
f.Workbooks.Add("C:\\..."); 
\if there are any questions please comment, I will do my best to explain my own answer 
#endregion 
0

Вы должны проверить EPPlus http://epplus.codeplex.com

EPPlus библиотека .net, который читает и пишет Excel 2007/2010 с использованием формата Open Office Xml (xlsx).

+0

Может ли он читать файлы из Office 2003? –

+0

Технически это должно быть. Но я не проверял его. Пожалуйста, прочитайте документ. – Avijit

+0

Хорошо, спасибо, я просто хотел знать, не было ли это во главу времени. –