如何在C#中一个接一个地打印网页 [英] How to print the webpages one after another in C#
本文介绍了如何在C#中一个接一个地打印网页的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要打印foreach循环生成的所有网页。以下代码仅打印网页。
I need to print all the web pages which are generated by the foreach loop. The below code prints only web page.
Here is my complete code:
private void LastSolution()
{
StringBuilder sb = new StringBuilder();
List<PrintInfo> prints = ExcelData.GetDataFromExcel();
foreach (var print in prints)
{
lblCertificate.Text = print.Certificate;
lblAddress.Text = print.Address;
lblBrand.Text = print.Brand;
lblFrom.Text = print.FromDate;
lblMobile.Text = print.Mobile;
lblName.Text = print.Name;
lblProduct.Text = print.Product;
lblScheme.Text = print.Schema;
lblSNo.Text = print.Sno;
lblTo.Text = print.ToDate;
///Write Print Code Here within Loop
ClientScript.RegisterClientScriptBlock(this.GetType(), "key","window.print()", true);
// Method body
public static List<PrintInfo> GetDataFromExcel()
{
OleDbConnection oleconn = new OleDbConnection();
OleDbCommand olecmd = new OleDbCommand();
oleconn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Users\\ADMIN\\Desktop\\tryexcel.xlsx;Extended properties='Excel 12.0 Xml;HDR=YES;'";
olecmd.CommandText = "select [c_firstname],[c_address],[c_mobilephone],[c_amctype],[c_fcrno],[c_product1],[c_band1],[c_slno1],[c_doa],[c_eoa] from [Sheet1$]";
olecmd.Connection = oleconn;
oleconn.Open();
OleDbDataReader reader = olecmd.ExecuteReader();
List<PrintInfo> prints = new List<PrintInfo>();
PrintInfo print = null;
while (reader.Read())
{
print = new PrintInfo();
print.Certificate = reader.GetValue(4).ToString();
print.Schema = reader.GetValue(3).ToString();
print.Name = reader.GetValue(0).ToString();
print.Address = reader.GetValue(1).ToString();
print.Mobile = reader.GetValue(2).ToString();
print.Product = reader.GetValue(5).ToString();
print.Brand = reader.GetValue(6).ToString();
print.Sno = reader.GetValue(7).ToString();
print.FromDate = reader.GetValue(8).ToString();
print.ToDate = reader.GetValue(9).ToString();
prints.Add(print);
}
return prints;
}
// Calling method here
private void LastSolution()
{
StringBuilder sb = new StringBuilder();
List<PrintInfo> prints = ExcelData.GetDataFromExcel();
foreach (var print in prints)
{
lblCertificate.Text = print.Certificate;
lblAddress.Text = print.Address;
lblBrand.Text = print.Brand;
lblFrom.Text = print.FromDate;
lblMobile.Text = print.Mobile;
lblName.Text = print.Name;
lblProduct.Text = print.Product;
lblScheme.Text = print.Schema;
lblSNo.Text = print.Sno;
lblTo.Text = print.ToDate;
///Write Print Code Here within Loop
ClientScript.RegisterClientScriptBlock(this.GetType(), "key","window.print()", true);
推荐答案
;
olecmd.Connection = oleconn;
oleconn.Open();
OleDbDataReader reader = olecmd.ExecuteReader();
List< PrintInfo> prints = new List< PrintInfo> ();
PrintInfo print = null ;
while (reader.Read( ))
{
print = new PrintInfo();
print.Certificate = reader.GetValue( 4 )。ToString();
print.Schema = reader.GetValue( 3 )。ToString();
print.Name = reader.GetValue( 0 )。ToString();
print.Address = reader.GetValue( 1 )。ToString();
print.Mobile = reader.GetValue( 2 )。ToString();
print.Product = reader.GetValue( 5 )。ToString();
print.Brand = reader.GetValue( 6 )。ToString();
print.Sno = reader.GetValue( 7 )。ToString();
print.FromDate = reader.GetValue( 8 )。ToString();
print.ToDate = reader.GetValue( 9 )。ToString();
prints.Add(print);
}
返回打印;
}
// 此处的呼叫方法
private void LastSolution()
{
StringBuilder sb = new StringBuilder();
List< PrintInfo> prints = ExcelData.GetDataFromExcel();
foreach ( var print in 打印)
{
lblCertificate.Text = print.Certificate;
lblAddress.Text = print.Address;
lblBrand.Text = print.Brand;
lblFrom.Text = print.FromDate;
lblMobile.Text = print.Mobile;
lblName.Text = print.Name;
lblProduct.Text = print.Product;
lblScheme.Text = print.Schema;
lblSNo.Text = print.Sno;
lblTo.Text = print.ToDate;
/// 在Loop
中编写打印代码ClientScript.RegisterClientScriptBlock(< span class =code-keyword> this .GetType(), key , window.print(), true );
"; olecmd.Connection = oleconn; oleconn.Open(); OleDbDataReader reader = olecmd.ExecuteReader(); List<PrintInfo> prints = new List<PrintInfo>(); PrintInfo print = null; while (reader.Read()) { print = new PrintInfo(); print.Certificate = reader.GetValue(4).ToString(); print.Schema = reader.GetValue(3).ToString(); print.Name = reader.GetValue(0).ToString(); print.Address = reader.GetValue(1).ToString(); print.Mobile = reader.GetValue(2).ToString(); print.Product = reader.GetValue(5).ToString(); print.Brand = reader.GetValue(6).ToString(); print.Sno = reader.GetValue(7).ToString(); print.FromDate = reader.GetValue(8).ToString(); print.ToDate = reader.GetValue(9).ToString(); prints.Add(print); } return prints; } // Calling method here private void LastSolution() { StringBuilder sb = new StringBuilder(); List<PrintInfo> prints = ExcelData.GetDataFromExcel(); foreach (var print in prints) { lblCertificate.Text = print.Certificate; lblAddress.Text = print.Address; lblBrand.Text = print.Brand; lblFrom.Text = print.FromDate; lblMobile.Text = print.Mobile; lblName.Text = print.Name; lblProduct.Text = print.Product; lblScheme.Text = print.Schema; lblSNo.Text = print.Sno; lblTo.Text = print.ToDate; ///Write Print Code Here within Loop ClientScript.RegisterClientScriptBlock(this.GetType(), "key","window.print()", true);
你没有显示完整的代码,这些代码应该显示你是怎么做的,但显然你没有做任何事情来在循环内打印。
-SA
You don't show complete code which should show how you do it, but apparently, you are not doing anything for printing inside the loop.
—SA
这篇关于如何在C#中一个接一个地打印网页的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文