网站的优化,网站开发路线,合肥瑶海区封控,北京朝阳双桥网站建设报表和单据打印#xff0c;通常都是使用fastreport之类的#xff0c;因为有了现成的xls模板样式#xff0c;如果转成fastreport那还需要花时间#xff0c;是用spire.xls这个玩意简单#xff0c;超好用。
一.引用 using Spire.Xls;
二.基本的操作 // 创建工作簿#xff…报表和单据打印通常都是使用fastreport之类的因为有了现成的xls模板样式如果转成fastreport那还需要花时间是用spire.xls这个玩意简单超好用。
一.引用 using Spire.Xls;
二.基本的操作 // 创建工作簿读写保存保存 private void save_Click(object sender, EventArgs e) { Workbook workbook new Workbook(); workbook.LoadFromFile(Application.StartupPath \\sample.xlsx); // 获取第一个工作表 Worksheet sheet workbook.Worksheets[0]; // 读取数据 string value1 sheet.Range[A1].Value.ToString(); string value2 sheet.Range[B1].Value.ToString(); // 写入数据 sheet.Range[A1].Value Hello; //方式一 sheet.Range[2,2].Value World; //方式二 //保存文件 workbook.SaveToFile(c:\\example.xlsx, ExcelVersion.Version2013); }三.打印 使用对话框模式输出不知道原因是什么怎么选择打印机都是从默认打印机输出。 myxls.LoadFromFile(Application.StartupPath \\sample.xlsx); sheet myxls.Worksheets[0]; sheet.PageSetup.PrintArea A1:H20; PrintDialog dialog new PrintDialog(); dialog.PrinterSettings.PrintRange System.Drawing.Printing.PrintRange.SomePages; dialog.PrinterSettings.FromPage 0; dialog.AllowPrintToFile true; dialog.AllowCurrentPage true; dialog.AllowSomePages true; myxls.PrintDialog dialog; myxls.PrintDocument.PrinterSettings.Copies 1; if (dialog.ShowDialog() DialogResult.OK) { myxls.PrintDocument.Print(); }
找不出原因归结为可能是免费版本限制功能的原因。也不深究换一个方式在页面上增加了一个下拉框窗体加载时将打印机列出来供选择。 using System.Drawing.Printing; foreach (var item in System.Drawing.Printing.PrinterSettings.InstalledPrinters) { this.con_printer.Items.Add(item); } this.con_printer.Text new System.Drawing.Printing.PrintDocument().PrinterSettings.PrinterName;//默认打印机
调用打印的时候直接指定打印机名称曲线救国成功。 myxls.PrintDocument.PrintController new StandardPrintController(); PrinterSettings settings myxls.PrintDocument.PrinterSettings; settings.PrinterName this.con_printer.Text; settings.Duplex Duplex.Simplex; settings.FromPage 1; settings.ToPage 1; myxls.PrintDocument.Print();
四.插入图片 需要在打印页面插入二维码, 这个先用zxing产生图片在指定位置插入图片 ExcelPicture mypic sheet.Pictures.Add(1, 12, Generate3(barcode, 300, 300)); //在第1行12列插入 mypic.Width 90; mypic.Height 90; mypic.LeftColumnOffset 75; mypic.TopRowOffset 20;
丝滑。