Tôi đang cố gắng sử dụng thư viện OpenXML 2.5 của Microsoft để tạo một tài liệu OpenXML. Mọi thứ hoạt động tốt, cho đến khi tôi cố gắng chèn một chuỗi HTML vào tài liệu của mình. Tôi đã lùng sục các trang web và đây là những gì tôi đã đưa ra cho đến nay (snipped để chỉ phần Tôi gặp rắc rối với):Thêm chuỗi HTML vào tài liệu OpenXML (* .docx)
Paragraph paragraph = new Paragraph();
Run run = new Run();
string altChunkId = "id1";
AlternativeFormatImportPart chunk =
document.MainDocumentPart.AddAlternativeFormatImportPart(
AlternativeFormatImportPartType.Html, altChunkId);
chunk.FeedData(new MemoryStream(Encoding.UTF8.GetBytes(ioi.Text)));
AltChunk altChunk = new AltChunk { Id = altChunkId };
run.AppendChild(new Break());
paragraph.AppendChild(run);
body.AppendChild(paragraph);
Rõ ràng, tôi đã không thực sự thêm altChunk trong ví dụ này, nhưng tôi đã cố gắng thêm nó ở khắp mọi nơi - để chạy, đoạn văn, nội dung, v.v. Trong mọi trường hợp, tôi không thể mở tệp docx trong Word 2010.
Điều này khiến tôi hơi hấp dẫn vì có vẻ như nó nên được đơn giản (tôi sẽ thừa nhận rằng tôi không hoàn toàn hiểu được điều "AltChunk"). Sẽ đánh giá cao sự giúp đỡ nào.
Lưu ý phụ: Một điều tôi đã thấy thú vị và tôi không biết đó có phải là sự cố hay không, là this response cho biết AltChunk hỏng tệp khi làm việc từ MemoryStream. Ai có thể xác nhận rằng điều này là/không đúng?
Bạn có nhận được thông báo lỗi khi thử mở tệp docx được tạo trong Word 2010 không? – Hans
Tôi có. Tôi nhận được một "Tập tin [tên tệp] không thể mở được vì có vấn đề với nội dung." Tôi nhìn vào các nội dung trong thanh tra, nhưng tôi không thấy bất cứ điều gì rõ ràng đối với những gì thực sự sai. – JasCav