c#中读水晶报表转为pdf的方法
来源:互联网 发布:在淘宝买日本刀犯法吗 编辑:程序博客网 时间:2024/05/11 19:07
private voidCreateRpt(string pMapPath, string pRptID, string pFlag, string pHospNo, string pUsrID)
{
ReportDocument ReportDoc = new ReportDocument();
string strData = System.DateTime.Now.ToString("yyyy/MM/dd").Replace("/", "-");
string strServerPath = Server.MapPath("~");
if (!strServerPath.EndsWith("\\"))
strServerPath += "\\";
string strReportName = strServerPath + "DISRPT\\" + "水晶报表的名字";// "Check.rpt";水晶报表的位置,即绝对路径
ReportDoc.Load(strReportName);
ReportDoc.SetParameterValue("UsrID", pUsrID);//向水晶报表传递的参数
ReportDoc.SetParameterValue("HospNo", pHospNo);
SetReportDBInf(ReportDoc.Database.Tables);
string strPdfPath = "";//生成的pdf的存放路径
if (!System.IO.Directory.Exists(strPdfPath))
{
System.IO.Directory.CreateDirectory(strPdfPath);
}
string PdfName = pRptID.ToUpper().Replace(".RPT", "") + ".pdf";
strPdfPath += "\\" + PdfName;
if (File.Exists(strPdfPath))
File.Delete(strPdfPath);
ReportDoc.ExportToDisk(ExportFormatType.PortableDocFormat, strPdfPath);
}
//设定水晶报表连接数据库
public void SetReportDBInf(CrystalDecisions.CrystalReports.Engine.Tables rptTables)
{
string strDBLink = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString;
string[] aryDB = strDBLink.Split(';');
try
{
string strServerName = "";
string strDatabaseName = "";
string strUserID = "";
string strPassword = "";
for (int i = 0; i < aryDB.Length; i++)
{
if (aryDB[i].Split('=')[0].ToString().ToUpper() == "SERVER")
strServerName = aryDB[i].Split('=')[1].ToString().Trim();
if (aryDB[i].Split('=')[0].ToString().ToUpper() == "DATABASE")
strDatabaseName = aryDB[i].Split('=')[1].ToString().Trim();
if (aryDB[i].Split('=')[0].ToString().ToUpper() == "USER ID")
strUserID = aryDB[i].Split('=')[1].ToString().Trim();
if (aryDB[i].Split('=')[0].ToString().ToUpper() == "PASSWORD")
strPassword = aryDB[i].Split('=')[1].ToString().Trim();
}
CrystalDecisions.Shared.TableLogOnInfo tLogOnInfo;
foreach (CrystalDecisions.CrystalReports.Engine.Table cTable in rptTables)
{
tLogOnInfo = cTable.LogOnInfo;
tLogOnInfo.ConnectionInfo.ServerName = strServerName;
tLogOnInfo.ConnectionInfo.DatabaseName = strDatabaseName;
tLogOnInfo.ConnectionInfo.UserID = strUserID;
tLogOnInfo.ConnectionInfo.Password = strPassword;
cTable.ApplyLogOnInfo(tLogOnInfo);
}
}
catch (Exception ex)
{ }
}
- c#中读水晶报表转为pdf的方法
- C# PDF转为图片的方法
- 水晶报表直接打印 不用转为PDF打印
- C#中水晶报表实例
- C#中水晶报表实现动态传递参数的简单方法
- 建立水晶报表登录及报表转换成pdf文档进行打印的方法
- c#水晶报表的实现
- C#安装文件中水晶报表出错的问题
- C#中如何实现DataTable作为水晶报表的数据源?
- 水晶报表导出pdf功能(完整的代码C#版)
- VB中使用水晶报表编程的一种简单方法
- VC++中使用,安装及部署水晶报表的方法
- 在WPF中使用水晶报表for vs2010的方法
- 水晶报表的多个报表生成一个pdf文件
- C#操作水晶报表跟转换成PDF格式
- ASP.NET下水晶报表的导出成pdf格式的方法
- 在C#中使用水晶报表
- [转]C#中水晶报表实例
- 何洁赫子铭的“庄园爱情”
- oracle练习1
- ubuntu安装ruby+rails,sources ~/.bash_profile,重新启动电脑该命令不生效
- IO端口和IO内存的区别及分别使用的函数接口
- 针对某个表使用高级复制进行数据同步
- c#中读水晶报表转为pdf的方法
- rootkit:在隐藏模块的基础上隐藏进程
- OpenCV中Kalman(卡尔曼)滤波器的跟踪弹球模拟程序
- 单例 七种模式
- 消息 按钮,组合框,编辑框,列表框
- 标准二维表问题
- java 枚举类型的使用
- ACDSee 15/ACDSee Pro 6简体中文版破解注册机
- EntityManager和持久化实体