Silverlightは各種のフォーマットのWordとExcelの表を書き出します


比較するAsp.Netではsilverlightがwordやexcelドキュメントをエクスポートするのは面倒です.Silverlight 4は、wordコンポーネントエクスポートドキュメントを呼び出すには、OOBモードでDynamicキーワード(Dynamic Tableなど)を使用します.wordをエクスポートするには2つの方法があります.1つ目は、wordテンプレートをインポートし、指定した位置に文字情報を記入することです.2つ目は、表のテンプレートを1つのグリッドで生成しますが、効率は低下します.
まず、最初のテンプレートを使う方法を紹介します.この方法は最も簡単で、効率が最も高い方法です.エクスポートに適したwordテーブルには固定されたフォーマットがあります.くだらないことは言わないで、直接コードを貼ってください.
 1                string TemplatePath = @templatepath + "\\        .doc";  //                                
 2                object missingValue = System.Reflection.Missing.Value;  //          
 3                dynamic wordApplication = AutomationFactory.CreateObject("Word.Application");  //  WORD  ,   OOB       。
 4                dynamic document = wordApplication.Documents.Add(ref TemplatePath, ref missingValue,
 5                                   ref missingValue, ref missingValue);//    WORD  
 6                wordApplication.Visible = false; //        。
 7                dynamic table = document.Tables(1); //         ,1            
 8                table.Cell(1, 3).Range.Text = Group.ApprovalNumber + "," + Group.Name + " " + Group.VisitNumber + " ";  //  table       
 9                string SavePath = @SavetemplatePath + "\\        " + "-" + System.DateTime.Now.ToString("yyyyMMddHHmmss"); //       
10                wordApplication.ActiveDocument.SaveAs(ref SavePath,
11                            ref missingValue, ref missingValue, ref missingValue, ref missingValue,
12                            ref missingValue, ref missingValue, ref missingValue, ref missingValue,
13                            ref missingValue, ref missingValue, ref missingValue, ref missingValue,
14                            ref missingValue, ref missingValue, ref missingValue); //  word  
15 
16                document.close(); //     
17                wordApplication.Quit(ref missingValue, ref missingValue, ref missingValue); //  word  。
                      word        。 

また、2つ の は、1つの が のフォーマットを することです.これは も で、 も がかかる で、 も い してから ったのです.あまり さないで、 コードをつけます.
                                   
 object missingValue = System.Reflection.Missing.Value;
                                    dynamic wordApplication = AutomationFactory.CreateObject("Word.Application");
                                    wordApplication.Visible = false;
                                    dynamic doc = wordApplication.Documents.Add();
                                    wordApplication.ActiveDocument.pagesetup.topmargin = 13.3; //  word      
                                    wordApplication.ActiveDocument.pagesetup.bottommargin = 53.3;//  word      
                                    wordApplication.ActiveDocument.pagesetup.leftmargin = 56.7;//  word      
                                    wordApplication.ActiveDocument.pagesetup.rightmargin = 56.7;//  word      
                                    dynamic rng = wordApplication.Range;
                                    int start = doc.Characters.Count - 1; //       
                                    int end = doc.Characters.Count - 1;
                                    rng = doc.content;
                                    rng = doc.Range(ref start, ref end);
                                    rng.Text = "    " + "\r
"; rng.font.size = 22; rng.font.name = " "; // rng.ParagraphFormat.Alignment = 1; // dynamic rng1 = wordApplication.Range; int start1 = doc.Characters.Count - 1; int end1 = doc.Characters.Count - 1; rng1 = doc.content; rng1 = doc.Range(ref start1, ref end1); rng1.Text = " :" + VistMeberInPermit.IUnion + "" + " :" + ""; rng1.font.size = 12; rng1.font.name = " _GB2312"; dynamic table; int Tstart = doc.Characters.Count - 1; int Tend = doc.Characters.Count - 1; Object tableLocation = doc.Range(ref Tstart, ref Tend); table = doc.Tables.Add(tableLocation, 5, 8, ref missingValue, ref missingValue); // table.Borders.OutsideLineStyle = 1; // table.Borders.InsideLineStyle = 1; table.cell(1, 1).Range.Text = " "; table.cell(1, 1).Range.font.size = 14; table.cell(1, 1).Range.font.name = " _GB2312"; table.cell(1, 1).width = 45.1f; // table.cell(1, 1).Range.ParagraphFormat.Alignment = 1; // table.cell(1, 2).width = 58.8f; table.cell(1, 2).Range.Text = VistMeberInPermit.AFName; table.cell(1, 2).Range.font.size = 14; table.cell(1, 2).Range.font.name = " _GB2312"; table.cell(1, 2).Range.ParagraphFormat.Alignment = 1; table.cell(1, 3).Range.Text = " "; table.cell(1, 3).Range.font.size = 14; table.cell(1, 3).Range.font.name = " _GB2312"; table.cell(1, 3).width = 45.1f; table.cell(1, 3).Range.ParagraphFormat.Alignment = 1; table.cell(1, 4).width = 90.3f; table.cell(1, 4).Range.Text = VistMeberInPermit.BLName; table.cell(1, 4).Range.font.size = 14; table.cell(1, 4).Range.font.name = " _GB2312"; table.cell(1, 4).Range.ParagraphFormat.Alignment = 1; string SavePath = @SavetemplatePath + "\\ " + "-" + System.DateTime.Now.ToString("yyyyMMdd HHmmss"); wordApplication.ActiveDocument.SaveAs(ref SavePath, ref missingValue, ref missingValue, ref missingValue, ref missingValue, ref missingValue, ref missingValue, ref missingValue, ref missingValue, ref missingValue, ref missingValue, ref missingValue, ref missingValue, ref missingValue, ref missingValue, ref missingValue); // , , : dynamic para; para = doc.Content.Paragraphs.Add(ref missingValue); object pBreak = 0; para.Range.InsertBreak(ref pBreak);
wordテーブルをエクスポートする はここに いてあり、excelをエクスポートする は します.