我有一个在" Office 2003"中创建的excel模板,尽管如此,我需要以编程方式从这个现有模板创建一个新工作簿。如果有任何可能导致错误的事情,例如锁定的单元格,隐藏的公式,隐藏的表格等,请提及。
可能有助于充分了解的一些事情
我已从Office 2003升级 - >但是,Office 2010的文件格式为Excel 2007。
有超过303行和26列,每一行都包含自己独特的公式(只在一张纸上),总共可能超过700行,100列(在添加任何其他工作表之前),每个都包含自己相对独特的公式。##
某些单元格和工作表已被锁定,以防止用户导致的错误或用户篡改单元格公式。
这个模板将被几个人使用,他们都拥有自己的计算机。我无法保证文件将位于每台用户计算机上的相同位置。
软件信息:
Visual Studio 2013 Office 2010 Office 2003
答案 0 :(得分:0)
您需要查看EPPlus http://epplus.codeplex.com
EPPlus是一个.net库,使用Open Office Xml格式(xlsx)读取和写入Excel 2007/2010文件。
答案 1 :(得分: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