FrmRepExcel.cs 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using CoreFS.CA06;
  10. using Core.Mes.Client.Comm;
  11. using System.IO;
  12. namespace Core.Mes.Client.Comm.Tool
  13. {
  14. /// <summary>
  15. /// 报表公用界面
  16. /// </summary>
  17. public partial class FrmRepExcel : FrmBase
  18. {
  19. /// <summary>
  20. /// 报表地址
  21. /// </summary>
  22. private string strUrl = "";//报表地址
  23. private string postData = "";
  24. public FrmRepExcel(OpeBase op, string url)
  25. {
  26. InitializeComponent();
  27. strUrl = url;
  28. }
  29. public FrmRepExcel(OpeBase op, string url,string data)
  30. {
  31. InitializeComponent();
  32. strUrl = url;
  33. postData = data;
  34. }
  35. private void FrmRepExcel_Load(object sender, EventArgs e)
  36. {
  37. this.webBrowser1.ScriptErrorsSuppressed = true;//屏蔽脚本错误
  38. if (string.IsNullOrWhiteSpace(postData))
  39. {
  40. this.webBrowser1.Url = new Uri(strUrl);
  41. //System.Diagnostics.Process.Start(strUrl);
  42. }
  43. else {
  44. string vFlags = null;
  45. string vTarget = null;
  46. string strData = postData;
  47. string strHeaders = "Content-Type: application/x-www-form-urlencoded\r\nCache-Control: no-cache";
  48. ASCIIEncoding AE = new ASCIIEncoding();
  49. byte[] bytePost = AE.GetBytes(strData);
  50. byte[] byteHeaders = AE.GetBytes(strHeaders);
  51. // webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser_DocumentCompleted);
  52. // POST the data
  53. webBrowser1.Navigate(new Uri(strUrl), vFlags, bytePost, strHeaders);
  54. }
  55. }
  56. private void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
  57. {
  58. WebBrowser webBrowser = (WebBrowser)sender;
  59. if (webBrowser.ReadyState == WebBrowserReadyState.Complete)
  60. {
  61. //获取文档编码
  62. Encoding encoding = Encoding.GetEncoding(webBrowser.Document.Encoding);
  63. StreamReader stream = new StreamReader(webBrowser.DocumentStream, encoding);
  64. string htmlMessage = stream.ReadToEnd();
  65. }
  66. }
  67. private void FrmRepExcel_FormClosing(object sender, FormClosingEventArgs e)
  68. {
  69. webBrowser1.Dispose();
  70. }
  71. }
  72. }