OpenXMLSDK/Word
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
&tag(OpenXMLSDK/Word);
*目次 [#na01e235]
#contents
*関連ページ [#p0abaab5]
-[[OpenXMLSDK]]
*参考情報 [#w0998208]
*docxファイルの構造 [#ze202724]
-docxファイルはzipファイルなので、docxファイルの拡張子をz...
-内部はパーツにわかれたxmlファイルの集合。
-全体をプログラムで生成したり既存docxファイルの一部分を書...
*単純なdocxファイルの生成 [#td5860f5]
-VisualStudio2010でコンソールアプリを新規作成する。
-[参照の追加]ダイアログの参照タブで C:\Program Files (x86...
-Main.csに次のコードを記述する。
#pre{{
namespace OpenXMLDemo
{
class Program
{
static void Main(string[] args)
{
using (var package = WordprocessingDocument.C...
"test.docx", WordprocessingDocumentType.D...
{
MainDocumentPart mainDocumentPart1 = pack...
Document document1 = new Document();
Body body1 = new Body();
Paragraph paragraph1 = new Paragraph();
Run run1 = new Run();
run1.Append(new Text() { Text = "a+b=c" });
paragraph1.Append(run1);
body1.Append(paragraph1);
document1.Append(body1);
mainDocumentPart1.Document = document1;
}
}
}
}
}}
-実行すると"test.docx"が作成される。
*複雑なdocxの生成 [#n51fecbc]
-Open XML SDK 2.0 Productivity Toolを実行し、[ドキュメン...
-同ツールでSDKのドキュメントも表示できる。
-これらを駆使してwordファイルを作成する。
*パーツの置換 [#dd819989]
-一からdocxファイルを生成するのではなく、既存docxを置換す...
-[[方法 : Office オープン XML 形式のドキュメントを操作す...
-上記記事のプログラム。docxファイルをPackageで操作し、doc...
#pre{{
class Program
{
private static String stylePath = @"d:\WordOpenXM...
private static String packagePath = @"d:\WordOpen...
private static void CopyStream(Stream source, Str...
{
const int bufSize = 0x1000;
// const int bufSize = 1024;
byte[] buf = new byte[bufSize];
int bytesRead = 0;
while ((bytesRead = source.Read(buf, 0, bufSi...
{
target.Write(buf, 0, (int)bytesRead);
}
source.Close();
target.Close();
}
static void SwapStylePart(String packagePath, Str...
{
using (Package package = Package.Open(package...
{
Uri uriPartTarget = new Uri("/word/styles...
package.DeletePart(uriPartTarget);
PackagePart packagePartReplacement = pack...
using (FileStream fileStream = new FileSt...
FileAccess.Read))
{
// Load the new styles.xml using a st...
CopyStream(fileStream, packagePartRep...
}
}
}
static void Main(string[] args)
{
SwapStylePart(packagePath, stylePath);
}
}
}}
終了行:
&tag(OpenXMLSDK/Word);
*目次 [#na01e235]
#contents
*関連ページ [#p0abaab5]
-[[OpenXMLSDK]]
*参考情報 [#w0998208]
*docxファイルの構造 [#ze202724]
-docxファイルはzipファイルなので、docxファイルの拡張子をz...
-内部はパーツにわかれたxmlファイルの集合。
-全体をプログラムで生成したり既存docxファイルの一部分を書...
*単純なdocxファイルの生成 [#td5860f5]
-VisualStudio2010でコンソールアプリを新規作成する。
-[参照の追加]ダイアログの参照タブで C:\Program Files (x86...
-Main.csに次のコードを記述する。
#pre{{
namespace OpenXMLDemo
{
class Program
{
static void Main(string[] args)
{
using (var package = WordprocessingDocument.C...
"test.docx", WordprocessingDocumentType.D...
{
MainDocumentPart mainDocumentPart1 = pack...
Document document1 = new Document();
Body body1 = new Body();
Paragraph paragraph1 = new Paragraph();
Run run1 = new Run();
run1.Append(new Text() { Text = "a+b=c" });
paragraph1.Append(run1);
body1.Append(paragraph1);
document1.Append(body1);
mainDocumentPart1.Document = document1;
}
}
}
}
}}
-実行すると"test.docx"が作成される。
*複雑なdocxの生成 [#n51fecbc]
-Open XML SDK 2.0 Productivity Toolを実行し、[ドキュメン...
-同ツールでSDKのドキュメントも表示できる。
-これらを駆使してwordファイルを作成する。
*パーツの置換 [#dd819989]
-一からdocxファイルを生成するのではなく、既存docxを置換す...
-[[方法 : Office オープン XML 形式のドキュメントを操作す...
-上記記事のプログラム。docxファイルをPackageで操作し、doc...
#pre{{
class Program
{
private static String stylePath = @"d:\WordOpenXM...
private static String packagePath = @"d:\WordOpen...
private static void CopyStream(Stream source, Str...
{
const int bufSize = 0x1000;
// const int bufSize = 1024;
byte[] buf = new byte[bufSize];
int bytesRead = 0;
while ((bytesRead = source.Read(buf, 0, bufSi...
{
target.Write(buf, 0, (int)bytesRead);
}
source.Close();
target.Close();
}
static void SwapStylePart(String packagePath, Str...
{
using (Package package = Package.Open(package...
{
Uri uriPartTarget = new Uri("/word/styles...
package.DeletePart(uriPartTarget);
PackagePart packagePartReplacement = pack...
using (FileStream fileStream = new FileSt...
FileAccess.Read))
{
// Load the new styles.xml using a st...
CopyStream(fileStream, packagePartRep...
}
}
}
static void Main(string[] args)
{
SwapStylePart(packagePath, stylePath);
}
}
}}
ページ名: