我正在开发一个能够从我们的数据库中获取数据的Excel Addin
。我不想直接转储数据,而是希望以一种很好的格式呈现数据。我有我们当地的VBA专家开发相同的模板,因为可以有多个表格,所有这些都可以有不同的格式。
正在添加我遇到的工作表。
string TemplateFileLocation = Path.GetFullPath(fileName);
if(File.Exists(fileName))
{
Worksheet newWorkSheet = (WorkSheet)Globals.ThisAddin.Aplication.Worksheets.Add(Missing.Value,Missing.Value,1,TemplateFileLocation);
}
代码在到达此位置时崩溃。 返回的错误代码是:0x800A03EC
我已经确认模板文件的路径是正确的。
这些模板中的每一个都只有一个工作表。
答案 0 :(得分:0)
您可以使用EPPlus
using System.IO;
using System.Reflection;
using OfficeOpenXml;
//Create a stream of .xlsx file contained within my project using reflection
Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("EPPlusTest.templates.VendorTemplate.xlsx");
//EPPlusTest = Namespace/Project
//templates = folder
//VendorTemplate.xlsx = file
//ExcelPackage has a constructor that only requires a stream.
ExcelPackage pck = new OfficeOpenXml.ExcelPackage(stream);