SaveToOffice.aspx.cs
上传用户:hbbfjy2008
上传日期:2015-02-05
资源大小:5616k
文件大小:3k
源码类别:

中间件编程

开发平台:

C#

  1. using System;
  2. using System.IO;
  3. using System.Collections;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Data.SqlClient;
  7. using System.Data.SqlTypes;
  8. using System.Drawing;
  9. using System.Web;
  10. using System.Web.SessionState;
  11. using System.Web.UI;
  12. using System.Web.UI.WebControls;
  13. using System.Web.UI.HtmlControls;
  14. namespace  iWebOffice.ocx.c.net
  15. {
  16. /// <summary>
  17. /// OfficeServer 的摘要说明。
  18. /// </summary>
  19. public class SaveToOffice : System.Web.UI.Page
  20. {
  21. private byte[] mFileBody;
  22. private string mFileName;
  23. private string mFilePath;
  24. private string strSelectCmd;
  25. private string mRecordID;
  26. private DBstep.iMsgServer2000 MsgObj;
  27. private iDBManage2000 DBAobj;
  28. private void Page_Load(object sender, System.EventArgs e)
  29. {
  30. // 在此处放置用户代码以初始化页面
  31.    DBAobj=(iDBManage2000)Session["DBDemo"];
  32. MsgObj = new DBstep.iMsgServer2000();
  33. mFilePath=Server.MapPath(".");
  34. mRecordID=Request.QueryString["RecordID"];
  35. if(mRecordID==null )
  36. {
  37. strSelectCmd="SELECT top 1 FileName,FileBody FROM Document_File";
  38. }
  39. else
  40. {
  41. strSelectCmd="SELECT FileName,FileBody FROM Document_File WHERE RecordID='" + mRecordID + "'";
  42. }
  43. if(LoadFile())
  44. {
  45. MsgObj.MsgFileBody(MsgObj.ToDocument(mFileBody));
  46. if(MsgObj.MsgFileSave(mFilePath+"\"+mFileName))
  47. {
  48. Response.Write("成功:在服务器生成OFFICE文档" + mFilePath + "\" + mFileName) ; 
  49. }
  50. else
  51. {
  52. Response.Write("在服务器上生成Office文档失败!") ;
  53. }
  54. }
  55. else
  56. {
  57. Response.Write("取得服务器文档数据失败!") ;
  58. }
  59. }
  60. //调出文档,将文档内容保存在mFileBody里,以便进行打包
  61. private bool LoadFile()
  62. {
  63. bool mResult=false;
  64. SqlCommand mCommand = new SqlCommand(strSelectCmd,DBAobj.Connection);
  65. SqlDataReader mReader = mCommand.ExecuteReader();
  66. if (mReader.Read())
  67. {
  68. mFileBody=mReader.GetSqlBinary(1).Value; 
  69. mFileName=mReader["FileName"].ToString();
  70. mResult=true;
  71. }
  72. else
  73. {
  74. mResult=false;
  75. }
  76. mReader.Close();
  77. return (mResult);
  78. }
  79. #region Web Form Designer generated code
  80. override protected void OnInit(EventArgs e)
  81. {
  82. //
  83. // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
  84. //
  85. InitializeComponent();
  86. base.OnInit(e);
  87. }
  88. /// <summary>
  89. /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  90. /// 此方法的内容。
  91. /// </summary>
  92. private void InitializeComponent()
  93. {    
  94. this.Load += new System.EventHandler(this.Page_Load);
  95. }
  96. #endregion
  97. }
  98. }