Pho*_*bis 5 c# excel clipboard openxml
我使用Microsoft的DocumentFormat.OpenXML库生成OpenXml.我想弄清楚如何将这个文档放到我的剪贴板中,这样我就可以将我的数据粘贴到Excel中(好像它是从Excel复制的).当我从Excel中复制时,我能够看到来自Excel的OpenXml格式化数据.我需要反过来,复制出WPF应用程序,并使用高级Excel格式粘贴到Excel(因此需要OpenXML).
这是我到目前为止的一小部分:
MemoryStream documentStream = new MemoryStream();
SpreadsheetDocument spreadsheet = SpreadsheetDocument.Create(documentStream, SpreadsheetDocumentType.Workbook, true);
// create the workbook
spreadsheet.AddWorkbookPart();
Stream workbookStream = spreadsheet.WorkbookPart.GetStream();
spreadsheet.WorkbookPart.Workbook = new Workbook(); // create the worksheet
spreadsheet.WorkbookPart.AddNewPart<WorksheetPart>();
spreadsheet.WorkbookPart.WorksheetParts.First().Worksheet = new Worksheet();
...
const string SPREADSHEET_FORMAT = "XML Spreadsheet";
Clipboard.SetData(SPREADSHEET_FORMAT, clipboardData);
Run Code Online (Sandbox Code Playgroud)
你不能。我已经与 Microsoft 合作过,Office 不会接受剪贴板中的 OpenXML 格式或从 Office 以外的任何应用程序进行拖放。(他们还声称 Office 本身不使用这种格式,但 ClipSpy 表明他们使用这种格式 - 以扁平封装格式。)
HTML 是您最好的选择。