医院收费票据打印(这是这个项目最后的一个问题了,请兄弟们帮忙,万分感谢!)

zhangjjhua 2007-11-20 02:26:53

医院收费票据打印(这是这个项目最后的一个问题了,请兄弟们帮忙,万分感谢!)

已经有固定格式,只是把打印信息精确打印到票据对应位置上
格式如:
**医院收据票据
病人姓名:***** 收费日期:********
收费员:****

收费类型 金额
西药 25.00元
挂号费 15.00 元

红色的就是我要打印出来的内容

当操作人员点击页面的“打印”或者"打印预览"按扭的时候,
要打印的信息就会从从数据库中输出到页面,打印3张即可,。(如果只能打印一份也可以,先做着)
...全文
1496 37 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
37 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangjjhua 2007-11-28
  • 打赏
  • 举报
回复
感谢各位,问题解决了,GDI绘图..谢谢...
zhangjjhua 2007-11-24
  • 打赏
  • 举报
回复
谢谢,各位,我正在GDI 一点点的画,快说了..问题好了,就来结账..呵呵..
cn_lyfang 2007-11-23
  • 打赏
  • 举报
回复
你问题解决了吗?
我在地球 2007-11-23
  • 打赏
  • 举报
回复
学习
fenteli 2007-11-23
  • 打赏
  • 举报
回复
解决办法很简单的,在水晶报表中在纸张相应的位置放字段,多测试几次把位置对准就可以的。我以前做过的查了很多资料。到最后还是用的这样的笨办法。越笨的办法是越有效的。
sxsuntao 2007-11-23
  • 打赏
  • 举报
回复
要用水晶报表一定要解决打印机选项配置转换的问题,尤其是在VS2003下,否则会让你头疼的...
zhangjjhua 2007-11-22
  • 打赏
  • 举报
回复

感谢,三斧子 ,问题正在解决中,好了,马上给分...谢谢各位..
Software 2007-11-22
  • 打赏
  • 举报
回复
学习
reborter 2007-11-22
  • 打赏
  • 举报
回复
收藏
zhangjjhua 2007-11-21
  • 打赏
  • 举报
回复
谢谢,楼上的可以说的明白点吗?

急用.....等待中...
Wyssoft_Net2 2007-11-21
  • 打赏
  • 举报
回复
有这么难吗,定位打印不就行吧.自己写代码
cn_lyfang 2007-11-21
  • 打赏
  • 举报
回复
我上传了资源,可以去我那下,里面有模版
cn_lyfang 2007-11-21
  • 打赏
  • 举报
回复
不好意思,我晚上qq不在,代码是这样的,真的希望对你有所帮助,最主要的是做个excel模版

private void Print()
{

//制作步骤:
/* 1、用Excel作出与要打印的样式一样的电子表格存为模板;
* 技巧:最好把第一行与第一列作为空行,以利于调整边距(虽然Excel、打印机可调整页边距), 尽量的在需要调整的地方多空几行与几列,以利于调整套打对准
*
* 2、如同本程序一样,将Excel作为套打的模板,直接将要打印的数据写入;
*
* 3、打印,根据实际的效果调整Excel模板行高列宽及空出的行列, 直到能够准确的套上。将模板拷贝一份,清除模板上的文字也网格线,做成套打的模板。
*/

#region 套打、打印预览

//用Excel打印,步骤为:打开、写数据、打印预览、关闭
GoldPrinter.ExcelAccess excel = new GoldPrinter.ExcelAccess();

string strFileName = "PayBillCase.xls"; //套打模板文件名

string strExcelTemplateFile = System.IO.Path.GetFullPath(@"..\..\ExcelTemplate\" + strFileName);

excel.Open(strExcelTemplateFile); //用模板文件
excel.IsVisibledExcel = true;
excel.FormCaption = "山 东 省 非aaaafd 款 书";


//在模板中写入要打印的数据

//***发票抬头***

//年月日
excel.SetCellText(2,"C",this.txt_Year.Text);
excel.SetCellText(2,"D",this.txt_Month.Text);
excel.SetCellText(2,"E",this.txt_Day.Text);

//缴款人
excel.SetCellText(3,"C",this.cbx_Student.Text);
//执行单位名称
excel.SetCellText(2,"I",this.txt_Name.Text);
//执行单位编码
excel.SetCellText(3,"I",txt_Nubmer.Text);


//***项目编码、项目名称、单位、数量、收费标准、金额***
//A6--A11是项目编码

excel.SetCellText(6,"B",txt_Num1.Text);
excel.SetCellText(7,"B",txt_Num2.Text);
excel.SetCellText(8,"B",txt_Num3.Text);
excel.SetCellText(9,"B",txt_Num4.Text);
excel.SetCellText(10,"B",txt_Num5.Text);
excel.SetCellText(11,"B",txt_Num6.Text);

//D6--D11是项目名称
if(this.txt_Num1.Text!="")
{
excel.SetCellText(6,"D",cbx_Project1.Text);
}
if(this.txt_Num2.Text!="")
{
excel.SetCellText(7,"D",cbx_Project2.Text);
}
if(this.txt_Num3.Text!="")
{
excel.SetCellText(8,"D",cbx_Project3.Text);
}
if(this.txt_Num4.Text!="")
{
excel.SetCellText(9,"D",cbx_Project4.Text);
}
if(this.txt_Num5.Text!="")
{
excel.SetCellText(10,"D",cbx_Project5.Text);
}
if(this.txt_Num6.Text!="")
{
excel.SetCellText(11,"D",cbx_Project6.Text);
}

//I6--I11是单位
excel.SetCellText(6,"G",txt_UintName1.Text);
excel.SetCellText(7,"G",txt_UintName2.Text);
excel.SetCellText(8,"G",txt_UintName3.Text);
excel.SetCellText(9,"G",txt_UintName4.Text);
excel.SetCellText(10,"G",txt_UintName5.Text);
excel.SetCellText(11,"G",txt_UintName6.Text);

//J6--J11是数量
excel.SetCellText(6,"H",txt_Count1.Text);
excel.SetCellText(7,"H",txt_Count2.Text);
excel.SetCellText(8,"H",txt_Count3.Text);
excel.SetCellText(9,"H",txt_Count4.Text);
excel.SetCellText(10,"H",txt_Count5.Text);
excel.SetCellText(11,"H",txt_Count6.Text);

//K6--K11是收费标准
excel.SetCellText(6,"I",txt_StandardCharge1.Text);
excel.SetCellText(7,"I",txt_StandardCharge2.Text);
excel.SetCellText(8,"I",txt_StandardCharge3.Text);
excel.SetCellText(9,"I",txt_StandardCharge4.Text);
excel.SetCellText(10,"I",txt_StandardCharge5.Text);
excel.SetCellText(11,"I",txt_StandardCharge6.Text);

//L6--L11是金额
excel.SetCellText(6,"K",txt_Money1.Text);
excel.SetCellText(7,"K",txt_Money2.Text);
excel.SetCellText(8,"K",txt_Money3.Text);
excel.SetCellText(9,"K",txt_Money4.Text);
excel.SetCellText(10,"K",txt_Money5.Text);
excel.SetCellText(11,"K",txt_Money6.Text);


//***总金额**
//合计金额(大写)
excel.SetCellText(12,"F",txtTotalUpper.Text);
//合计金额(小写)
excel.SetCellText(12,"K",txtTotalLower.Text);


//***缴款单尾***
//校验码
excel.SetCellText(14,"D",txt_Code.Text);
//制单:
excel.SetCellText(14,"J",txt_Writer.Text);

excel.Print(); //打印

excel.Close(); //关闭并释放

#endregion

}


private void PrintAll(string aStudentID)
{
Table_MainBody aTable_MainBody=new Table_MainBody(aStudentID);

#region 套打、打印预览

try
{
if(aTable_MainBody.ID!="0")
{
//用Excel打印,步骤为:打开、写数据、打印预览、关闭
GoldPrinter.ExcelAccess excel = new GoldPrinter.ExcelAccess();
string strFileName = "PayBillCase.xls"; //套打模板文件名

string strExcelTemplateFile = System.IO.Path.GetFullPath(@"..\..\ExcelTemplate\" + strFileName);

excel.Open(strExcelTemplateFile); //用模板文件
excel.IsVisibledExcel = true;
excel.FormCaption = "山 东 省 非 税 务 收 入 缴 款 书";


//在模板中写入要打印的数据

//***发票抬头***

//年月日
excel.SetCellText(2,"C",aTable_MainBody.MakeYear);
excel.SetCellText(2,"D",aTable_MainBody.MakeMonth);
excel.SetCellText(2,"E",aTable_MainBody.MakeDay);

//缴款人
excel.SetCellText(3,"C",aTable_MainBody.PayerName);
//执行单位名称
excel.SetCellText(2,"I",aTable_MainBody.CollageName);
//执行单位编码
excel.SetCellText(3,"I",aTable_MainBody.CollageNumber);

int printItem=0;
for(int i=0;i<aTable_MainBody.Details.Count;i++)
{
Table_Details aDetail=(Table_Details)aTable_MainBody.Details[i];
printItem=i+6;

excel.SetCellText(printItem,"B",aDetail.SubjectNumber);
excel.SetCellText(printItem,"D",aDetail.SubjectName);
excel.SetCellText(printItem,"G",aDetail.UintName);
excel.SetCellText(printItem,"H",Common.SystemOperater.ReSkipSpace(aDetail.Count));
//K6--K11是收费标准
excel.SetCellText(printItem,"I",Common.SystemOperater.ReSkipSpace(aDetail.StandardCharge));
//L6--L11是金额
excel.SetCellText(printItem,"K",Common.SystemOperater.ReSkipSpace(aDetail.Money));
}

//***总金额**
//合计金额(大写)
excel.SetCellText(12,"F",aTable_MainBody.TotalCapi);
//合计金额(小写)
excel.SetCellText(12,"K",aTable_MainBody.TotalLower);


//***缴款单尾***
//校验码
excel.SetCellText(14,"D",aTable_MainBody.CheckNumber);
//制单:
excel.SetCellText(14,"J",aTable_MainBody.UserName);

excel.Print(); //打印

excel.Close(); //关闭并释放
}
}
catch{}
#endregion

}
dingzhenpengc 2007-11-21
  • 打赏
  • 举报
回复
up
zhangjjhua 2007-11-21
  • 打赏
  • 举报
回复
请兄弟们,再看看吧..项目急啊..帮顶也行..
tomtq723 2007-11-21
  • 打赏
  • 举报
回复
留个MSN。
tomtq723 2007-11-21
  • 打赏
  • 举报
回复
对了,你的环境是什么样的?
VS2003+C#+SqlServer2000?
是B/S结构的程序吗?
tomtq723 2007-11-21
  • 打赏
  • 举报
回复
我最近也在研究CrystalReport,有空多交流下。
tomtq723 2007-11-21
  • 打赏
  • 举报
回复
1.在资源管理器中右键->"添加新项"->添加crystal报表
2.aspx文件中:
<%@ Register Assembly="CrystalDecisions.Web, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" Namespace="CrystalDecisions.Web" TagPrefix="CR" %>
注册程序集。
3.aspx代码:
<CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server" BackColor="white" HasToggleGroupTreeButton="False" HasRefreshButton="False" PrintMode="ActiveX" DisplayGroupTree="False" DisplayPage="true" HasDrillUpButton="False" HasGotoPageButton="False" HasSearchButton="False" HasCrystalLogo="False" HasViewList="False" />
4.aspx.cs代码:
using CrystalDecisions.Shared;引用命名空间
using CrystalDecisions.CrystalReports.Engine;//引用命名空间


public string strInvTitle//开票抬头
{get
{ object o = ViewState["strInvTitle"]; if (o == null) { return ""; }
return (string)ViewState["strInvTitle"]; }
set { ViewState["strInvTitle"] = value.ToString(); }
}
string conn = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();//建立所需连接

//建立报表文档
ReportDocument rd = new ReportDocument();
rd.Load(Server.MapPath(@"invoice_interface.rpt"));
CrystalReportViewer1.ReportSource = rd;

rd.ParameterFields["inv_title"].CurrentValues.AddValue(strInvTitle);
。。。。。。//类似地给在第一步中建立的CrystalReport中的参数字段赋值。

Jack_Senlan 2007-11-21
  • 打赏
  • 举报
回复




学习,MARK
加载更多回复(17)

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧