从.xlsx导入到SPSS仅在再次保存文件后才有效

时间:2013-12-06 14:40:19

标签: c# excel spss

我正在构建一个MVC4应用程序,它以编程方式为我创建一个Excel文档。就在不久之前,我终于使用EPPlus(http://www.codeplex.com/EPPlus)来实现这一点。

这是我的代码到目前为止(还没什么花哨的):

// Create a new excel file
DirectoryInfo outputDir = new DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments));
FileInfo newFile = new FileInfo(outputDir.FullName + @"\export.xlsx");
if (newFile.Exists)
{
    newFile.Delete();  // ensures we create a new workbook
    newFile = new FileInfo(outputDir.FullName + @"\sample1.xlsx");
}
Package = new ExcelPackage(newFile);

// Create a new worksheet and add stuff
ExcelWorksheet worksheet = Package.Workbook.Worksheets.Add("Worksheet 1");
int i = 1;
foreach (Isala.Models.Metingen.Type type in types)
{
    worksheet.Cells[1, i].Value = type.Naam;
    i++;
}

// Save the file
export.Package.Save();

所以,这很有效。我得到一个很好的Excel文件。一个问题。对于我的项目的要求,我需要能够将此Excel文档导入SPSS。这是有效的,但奇怪的是:它只在打开文件并再次保存后才能工作。

我在ExcelPackage中遗漏了哪些重要内容?为什么我不能在再次保存之前导入我的文档?我肯定无法解释这一点。我希望你能。

(对于c#的SPSS导出库的任何提示也欢迎,我找不到一个好的)

[编辑]

顺便说一句:提供的示例在保存之前不起作用。也许那里有不支持的东西?

[EDIT2]

实际从webhost下载文件时,我仍然无法在保存文件之前打开该文件。它可能与Office的好功能有关,以防止文件来自互联网时编辑?

1 个答案:

答案 0 :(得分:1)

1)您是否确定您创建的文件在尝试将其读入SPSS之前实际已关闭,以便SPSS可以实际访问它?

2)SPSS社区网站(www.ibm.com/developerworks/spssdevcentral)上提供的(免费)i / o模块可以在C#中使用一些包装代码。