私が作業しているプロジェクトでは、ExcelシートのデータをWord文書内の新しいテーブルにコピーし、ほとんどの場合。MSオフィスオートメーションの転送テーブルをExcelからPublishObjects.Addを使用して
まず、我々は
string file = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString() +
".mht");
object sheetObj = sheetName;
object trueObj = true;
Excel.PublishObject obj = workbook.PublishObjects.Add(Excel.XlSourceType.xlSourceSheet, file,
sheetObj);
obj.Publish(trueObj);
を行い、その後 ドキュメントtempDocument = wordApp.Documents.Open(ファイル); を読み込み、templDocumentをWordのWord文書に読み込みます。 ...
いくつかのケースでは、問題が発生しています。 (問題は例のファイルhttp://thinkscience.us/office/examples.zipに示されています) 1)大きなテキストファイルは、Excelとエクスポートされた.mhtの間のテキスト切り捨てを表示します 2)「栄養」ファイルには、Excelデータ間に複数の空白行が追加されていますと.mht。
私は、(シート全体ではなく範囲を使用して)PublishObjects.Addのパラメータにいくつかのバリエーションを試しました。 addメソッドには、値XlHtmlType.xlHtmlStaticでのみ機能するオプションのXlHtmlTypeパラメーターが含まれています。
PublishObjects.Addや他の戦略を使用して、ExcelからWordにシートを転送し、できるだけ多くの書式を保持し、システムクリップボードに干渉しないようにしていますか?