2016-12-03 12 views
0

私が作業しているプロジェクトでは、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にシートを転送し、できるだけ多くの書式を保持し、システムクリップボードに干渉しないようにしていますか?

答えて