2
最近、itextsharp
を使用し始め、asp.netでWebサービスを使用してPDFレポートを作成しています。 Webサービス内のコードを以下に示します。私の問題は、最初の3列のデータが表示されないことです。iTextSharpにすべての列が表示されない
私は問題がdt.Rows
にあると思います。
string[] strFile = Directory.GetFiles(strUploadPath);
Array.ForEach(Directory.GetFiles(strUploadPath), File.Delete);
Document document = new Document();
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(strUploadPath + "/" + strFilename, FileMode.Create));
document.Open();
Font font5 = FontFactory.GetFont(FontFactory.HELVETICA, 5);
PdfPTable table = new PdfPTable(dt.Columns.Count);
float[] widths = new float[] { 4f, 4f, 4f, 4f, 4f, 4f };
table.SetWidths(widths);
table.WidthPercentage = 200;
PdfPCell cell = new PdfPCell(new Phrase());
int j = 1;
foreach (DataColumn c in dt.Columns)
{
if (j <= (dt.Columns.Count))
{
//table.AddCell(new Phrase(c.ToString(),font5));
//table.AddCell(new Phrase(j.ToString(),font5));
table.AddCell(new Phrase(c.ColumnName, font5));
}
j++;
}
int k = 1;
foreach (DataRow r in dt.Rows)
{
if (dt.Rows.Count > 0)
{
table.AddCell(new Phrase(k.ToString(), font5));
table.AddCell(new Phrase(r[1].ToString(), font5));
table.AddCell(new Phrase(r[2].ToString(), font5));
table.AddCell(new Phrase(r[3].ToString(), font5));
table.AddCell(new Phrase(r[4].ToString(), font5));
table.AddCell(new Phrase(r[5].ToString(), font5));
// table.AddCell(new Phrase(r[6].ToString(), font5));
// table.AddCell(new Phrase(r[7].ToString(), font5));
}
k++;
}
document.Add(table);
document.CloseDocument();
document.Close();
return strFilename;
}
else
{
return null;
}
'table.WidthPercentage = 200'はいいですか?これは結局、テーブルがページからマージンを差し引いた幅の2倍になることを意味します... – mkl
あなたの情報をお寄せいただきありがとうございます。 –
OK、私はそれを答えにします。 – mkl