C#打印导出功能实现
来源:互联网 发布:手机淘宝客服在哪里找 编辑:程序博客网 时间:2024/05/16 03:18
由于做的项目用到打印和导出功能,我根据在图书馆里看到的,结合实践,自己编写代码实现了这方面的功能,其中有不足之处,不吝赐教.
class PrintEx
{
//打印DataGridView中数据
public void PrintDataGridView(DataTable dt,object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
int r = 0;
int c = 20;
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
for (int j = 0; j < dt.Columns.Count; j++)
{
e.Graphics.DrawString(dt.Rows[i][j].ToString(), new Font("宋体", 10, FontStyle.Regular), Brushes.Black, r, c);
r = r + 65;
}
r = 0;
c += 20;
}
}
}
//自定义方法ExportDataGridView()实现导出到Excel
public bool ExportDataGridView(DataGridView dgv, bool isShowExcle)
{
if (dgv.Rows.Count == 0)
return false;
//建立Excel对象
Excel.Application excel = new Excel.Application();
excel.Application.Workbooks.Add(true);
excel.Visible = isShowExcle;
//生成字段名称
for (int i = 0; i < dgv.ColumnCount; i++)
{
excel.Cells[1, i + 1] = dgv.Columns[i].HeaderText;
}
//填充数据
for (int i = 0; i < dgv.RowCount-1; i++)
{
for (int j = 0; j < dgv.ColumnCount; j++)
{
if (dgv[j, i].ValueType == typeof(string))
{
excel.Cells[i + 2, j + 1] = "" + dgv[j,i].Value.ToString();
}
else
{
excel.Cells[i + 2, j + 1] = dgv[j,i].Value.ToString();
}
}
}
return true;
}
//打印Label中数据
public void PrintLabel(Label lb, object sender, System.Drawing.Printing.PrintPageEventArgs e,int r,int c)
{
e.Graphics.DrawString(lb.Text, new Font("宋体", 10, FontStyle.Regular), Brushes.Black, r, c);
}
//打印TextBox中数据
public void PrintTextBox(TextBox tb, object sender, System.Drawing.Printing.PrintPageEventArgs e,int r,int c)
{
e.Graphics.DrawString(tb.Text, new Font("宋体", 10, FontStyle.Regular), Brushes.Black, r, c);
}
//打印ComboBox中数据
public void PrintComboBox( ComboBox cb, object sender, System.Drawing.Printing.PrintPageEventArgs e, int r, int c)
{
e.Graphics.DrawString(cb.Text, new Font("宋体", 10, FontStyle.Regular), Brushes.Black, r, c);
}
//打印DateTimePicker中数据
public void PrintDateTimePc(DateTimePicker dtp, object sender, System.Drawing.Printing.PrintPageEventArgs e, int r, int c)
{
e.Graphics.DrawString(dtp.Value.ToString(), new Font("宋体", 10, FontStyle.Regular), Brushes.Black, r, c);
}
//执行打印窗体中的数据操作
public void PrintDGView(DataTable dt,int r,int c,int rstep,int cstep, object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
int row = r;
int column = c;
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
for (int j = 0; j < dt.Columns.Count; j++)
{
e.Graphics.DrawString(dt.Rows[i][j].ToString(), new Font("宋体", 10, FontStyle.Regular), Brushes.Black,row,column);
row = row+rstep;
}
row = r;
column += cstep;
}
}
}
//打印DataGridView中数据
public void PrintDatas(DataTable dt, object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
//打印字段名称
e.Graphics.DrawString(dt.Columns[j].ToString(), new Font("宋体", 10, FontStyle.Regular), Brushes.Black, 20, 20);
......
if (dt.Rows.Count > 0)
{
int r = 50;
int c = 30;
for (int i = 0; i < dt.Rows.Count; i++)
{
e.Graphics.DrawString(dt.Rows[i][j].ToString(), new Font("宋体", 10, FontStyle.Regular), Brushes.Black, c, r);
......
c = 30;
r += 20;
}
}
}
}
- C#打印导出功能实现
- C#实现打印功能
- C# 实现打印功能
- C# 实现打印功能
- c#实现打印功能
- C#实现打印功能
- C#实现打印功能
- C#实现文件打印功能
- 【转载】C#实现打印功能
- C#实现打印与打印预览功能
- C#实现打印与打印预览功能
- C#实现打印与打印预览功能
- C#实现打印与打印预览功能
- 怎样用C#实现完整文档打印功能
- 怎样用C#实现完整文档打印功能
- 怎样用C#实现完整文档打印功能
- 怎样用C#实现完整文档打印功能
- 怎样用C#实现完整文档打印功能
- 从Excel读取数据并存入数据库
- 利用 STAF 实现程序更新包的自动部署测试
- c#.net常用函数列表
- SQL SERVER的数据类型
- C#设置EXE程序的图标
- C#打印导出功能实现
- 关于eidcenter
- C#打印
- Windows 2008 IIS7 管理器无法验证此内置帐户是否有访问权
- 隐藏DataGridView的表头及列
- 面试问题背后的“猫腻”至关重要!
- Command-line reference A-Z
- Winform命令窗口与窗体一同打开/如何生成DLL文件
- 深入探讨JAVA clone