Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ cli C++/CLI Open XML SDK Excel无法使用AddNewPart_C++ Cli_Openxml - Fatal编程技术网

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

C++ cli C++/CLI Open XML SDK Excel无法使用AddNewPart,c++-cli,openxml,C++ Cli,Openxml,我正在为一个学校项目使用C++/CLI,我需要将一些数据导出为Excel格式(xlsx)。问题是,此代码包含的部分(如AddNewPart)在Visual Studio中以红色下划线(它表示指定的类没有成员AddNewPart),但代码已编译且应用程序已运行,但结果是xlsx文件已损坏(当我尝试用excel打开它时,它表示已损坏) SpreadsheetDocument^doc=SpreadsheetDocument::Create(路径,SpreadsheetDocumentType::工作簿

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

SpreadsheetDocument^doc=SpreadsheetDocument::Create(路径,SpreadsheetDocumentType::工作簿);
WorkbookPart ^wbookpart=doc->AddWorkbookPart();
wbookpart->Workbook=gcnewworkbook();
工作表部件^WorksheetPart=wbookpart->AddNewPart();
SheetData^SheetData=gcnew SheetData();
工作表部件->工作表=新建工作表();
工作表部件->工作表->追加子项(sheetData);
工作表^Sheets=doc->WorkbookPart->工作簿->AppendChild(gcnewsheets());
工作表^Sheet=gcnew Sheet();
工作表->Id=doc->工作簿部件->GetIdOfPart(工作表部件);
板材->板材ID=1;
工作表->名称=“我的工作表”;
工作表->追加(工作表);
wbookpart->工作簿->保存();
单据->关闭();

我遇到了与您相同的问题,Visual Studio报告该类没有成员,但它仍在编译,似乎仍在为我填充参数。尝试单步执行调试器,看看这对您来说是否相同。如果我试图将AddNewPart重命名为肯定不存在的东西,它就不会为我编译


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

我和您有相同的问题,visual studio报告该类没有成员,但它仍然在编译,似乎仍然在为我填充参数。尝试单步执行调试器,看看这对您来说是否相同。如果我试图将AddNewPart重命名为肯定不存在的东西,它就不会为我编译


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

乍一看,您似乎缺少了几个
^
。但是,告诉我们确切的错误信息将大有帮助。我添加了所有代码和错误!谢谢你的快速回复!乍一看,您似乎缺少了几项
^
。但是,告诉我们确切的错误信息将大有帮助。我添加了所有代码和错误!谢谢你的快速回复!
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();