我想用pdf,excel格式生成报告。我已经使用asp.net转发器控件进行数据绑定。我正在使用iTextSharp。我渲染,页面控制为pdf和excel格式。
代码:
StringWriter sw2 = new StringWriter();
HtmlTextWriter hw2 = new HtmlTextWriter(sw2);
this.rptBillReport.RenderControl(hw2);
Paragraph report = new Paragraph();
using (StringReader sr2 = new StringReader(sw2.ToString()))
{
//Parse and get a collection of elements
List<IElement> elements2 = iTextSharp.text.html.simpleparser.HTMLWorker.ParseToList(sr2, null);
foreach (IElement val2 in elements2)
{
//Add those elements to the paragraph
report.Add(val2);
}
}
Document pdfDoc = new Document(iTextSharp.text.PageSize.A4,
30f, 30f, 30f, 0.0f);
PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
pdfDoc.Open();
//htmlparser.Parse(sr);
pdfDoc.Add(report);
pdfDoc.Close();
Response.Write(pdfDoc);
Response.End();
我的问题是:
如何格式化报告,在pdf和excel中添加边框和其他样式?它没有显示在我目前的报告中。
答案 0 :(得分:1)
谢谢, 我添加了这样的样式表:
StyleSheet styles= new StyleSheet();
styles.LoadTagStyle("#rptBillReport", "height", "30px");
styles.LoadTagStyle("#rptBillReport", "font-weight", "bold");
styles.LoadTagStyle("#rptBillReport", "font-family", "Cambria");
styles.LoadTagStyle("#rptBillReport", "font-size", "20px");
styles.LoadTagStyle("#rptBillReport", "background-color", "white");
HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
htmlparser.SetStyleSheet(styles);
PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
pdfDoc.Open();
htmlparser.Parse(sr);
pdfDoc.Close();
有效。