конкретнее OpenXml
Код:
str relId;
System.Exception ex;
DocumentFormat.OpenXml.Packaging.SpreadsheetDocument package;
DocumentFormat.OpenXml.Packaging.WorkbookPart workbookPart;
DocumentFormat.OpenXml.Packaging.WorksheetPart worksheetPart;
DocumentFormat.OpenXml.Spreadsheet.Worksheet worksheet;
...........
;
new InteropPermission(InteropKind::ComInterop).assert();
try
{
package = DocumentFormat.OpenXml.Packaging.SpreadsheetDocument::Create("c:\\test.xlsx", DocumentFormat.OpenXml.SpreadsheetDocumentType::Workbook);
workbookPart = package.AddWorkbookPart();
worksheetPart = workbookPart.AddNewPart();
// в реале надо
// worksheetPart = workbookPart.AddNewPart<worksheetPart>();
// либо
// worksheetPart = workbookPart.AddNewPart(of worksheetPart)();
// а так валится с руганью в сторону позднего связывания (логично)
}
}
catch (Exception::CLRError)
{
ex = CLRInterop::getLastException();
package.Close();
info(ex.get_Message() );
}
CodeAccessPermission::revertAssert();