C++/CLI Open XML SDK Excel 无法使用 AddNewPart



我正在为学校项目使用 C++/CLI,我需要将一些数据导出为 Excel 格式 (xlsx)。问题是这段代码有像AddNewPart这样的部分,Visual Studio用红色下划线(它说指定的类没有成员AddNewPart),但代码被编译并且应用程序运行,但结果是一个损坏的xlsx文件(当我尝试用excel打开它时,它说它已损坏)。

SpreadsheetDocument ^doc = SpreadsheetDocument::Create(path_get, SpreadsheetDocumentType::Workbook);
WorkbookPart ^wbookpart = doc->AddWorkbookPart();
wbookpart->Workbook = gcnew Workbook();
WorksheetPart^ worksheetPart = wbookpart->AddNewPart<WorksheetPart^>();
SheetData^ sheetData = gcnew SheetData();
worksheetPart->Worksheet = gcnew Worksheet();
worksheetPart->Worksheet->AppendChild(sheetData);
Sheets^ sheets = doc->WorkbookPart->Workbook->AppendChild<Sheets^>(gcnew Sheets());
Sheet^ sheet = gcnew Sheet();
sheet->Id = doc->WorkbookPart->GetIdOfPart(worksheetPart);
sheet->SheetId = 1;
sheet->Name = "mySheet";
sheets->Append(sheet);
wbookpart->Workbook->Save();
doc->Close();

我和你有同样的问题,Visual Studio 报告该类没有成员,但它仍然编译并且似乎仍然为我填充参数。 尝试单步执行调试器,看看这对你来说是否相同。如果我尝试将 AddNewPart 重命名为绝对不存在的名称,它不会为我编译。

作为一个不太复杂的检查,GetIdOfPart 也为我报告了相同的错误消息,但该参数肯定会在调试器上填充,尽管 Visual Studio 声称该类没有成员。

最新更新