0

最近、asp.net 用の DocX をインストールしましたが、不明な量の行のループを作成するという問題が発生しました。

SQL サーバーからのユーザーのレポートを作成しています。これの一部は履歴に関係しています。各レポートのデータベースには、作成されたレポートごとに異なる量の行があります。この不明な量の行を出力するためにループなどを作成する方法はありますか?

for (int i = 0; i <= 2; i++)
{
    t.Rows[i].Cells[0].Paragraphs.First().Append(Data from SQL);
}

t.Alignment = Alignment.center;
t.Design = TableDesign.TableGrid;

t.Rows[0].Cells[0].Paragraphs.First().Append("Update Date");
t.Rows[0].Cells[1].Paragraphs.First().Append("Update By");
t.Rows[0].Cells[2].Paragraphs.First().Append("Code");
t.Rows[0].Cells[3].Paragraphs.First().Append("Status/Description");
t.Rows[0].Cells[4].Paragraphs.First().Append("System");

t.Rows[1].Cells[0].Paragraphs.First().Append("update_date");
t.Rows[1].Cells[1].Paragraphs.First().Append("update_by");
t.Rows[1].Cells[2].Paragraphs.First().Append("codes");
t.Rows[1].Cells[3].Paragraphs.First().Append("status");
t.Rows[1].Cells[4].Paragraphs.First().Append("system");

t.rows[0].Cells[0-4]残りはデータベースから取得されるヘッダーです。DocX を使用するよりも良い方法はありますか?

t.Rows[1].Cells[0-4]データベースから取得する必要があります(SQLのテーブルのヘッダー)これは私をイライラさせます、私はループが得意ではありませんでした

お時間をいただきありがとうございます。

4

1 に答える 1

0

コードの例を次に示します。クラスを使用して、すべてのデータベース情報を配置しています。

List<Education> eduList = aDoc.getAppEdu(aDoc.AppID);
if (refList.Count < 0)
{
      appQue.AppendLine("Applicant did not supply Educational Background information." + Environment.NewLine).Bold();
}
else
{
     foreach (Education ed in eduList)
     {
          Novacode.Table tblEdu = doc.AddTable(6, 1);                                      
          tblEdu.AutoFit = AutoFit.Contents;   
          tblEdu.Rows[0].Cells[0].Paragraphs.First().Append("Education").Bold().FontSize(13);  
            tblEdu.Rows[1].Cells[0].Paragraphs.First().Append("* School Name: ");                          tblEdu.Rows[1].Cells[0].Paragraphs.First().Append(ed.SchoolName).Bold(); ;
            tblEdu.Rows[2].Cells[0].Paragraphs.First().Append("* City: ");
            tblEdu.Rows[2].Cells[0].Paragraphs.First().Append(ed.City).Bold();
            tblEdu.Rows[2].Cells[0].Paragraphs.First().Append("* State: ");
            tblEdu.Rows[2].Cells[0].Paragraphs.First().Append(ed.EduState).Bold();
            tblEdu.Rows[2].Cells[0].Paragraphs.First().Append("* Zip: ");
            tblEdu.Rows[2].Cells[0].Paragraphs.First().Append(ed.Zip).Bold();
            tblEdu.Rows[3].Cells[0].Paragraphs.First().Append("* From: ");
            tblEdu.Rows[3].Cells[0].Paragraphs.First().Append(ed.SStartScho).Bold();
            tblEdu.Rows[3].Cells[0].Paragraphs.First().Append("* To: ");
            tblEdu.Rows[3].Cells[0].Paragraphs.First().Append(ed.SEndScho).Bold();
            tblEdu.Rows[4].Cells[0].Paragraphs.First().Append("* Did you graduate? ");
            string grad = "No";
            if (ed.Graduate == true)
            {
                grad = "Yes";
            }                                                     
            tblEdu.Rows[4].Cells[0].Paragraphs.First().Append(grad).Bold();
            tblEdu.Rows[5].Cells[0].Paragraphs.First().Append("* Diploma/Degree: ");               tblEdu.Rows[5].Cells[0].Paragraphs.First().Append(ed.Degree).Bold();                                                            
            doc.InsertTable(tblEdu);
            appQue = doc.InsertParagraph();
     }
} 
于 2015-12-28T17:36:53.460 に答える