千家信息网

ASP.NET报表问题的解决方法

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,ASP.NET报表问题的解决方法,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。做ASP.NET项目都会碰到ASP.NET报表问题,中国式
千家信息网最后更新 2026年10月31日ASP.NET报表问题的解决方法

ASP.NET报表问题的解决方法,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

做ASP.NET项目都会碰到ASP.NET报表问题,中国式报表的繁琐让我很是反感,可没法子啊,客户有需求!自然而然想用DCOM直接操作EXCEL,马马虎虎算是成了,虽说安全性不好,资源浪费严重,毕竟在局域网中使用,凑合吧。

不过总是讨厌在服务端那个没有结束的EXCEL进程……一定要把敌人杀死!google了一把,原来当今中外都有这个ASP.NET报表问题。解决方案也有,Windows XP下搞定,但我在WINDOWS 2003下搞了整整一天也没杀死,得,真想自个杀了。后来有人推荐了个控件ASPOSE解决ASP.NET报表问题,这玩意强,服务端都不用装EXCEL,效果不错!想偷懒的用这玩意,一个字--爽!

private string subTotal(int row ,int num)          {               string r = (row+1).ToString();           if( num == 0)//           {               return "=C"+r+"+F"+r+"-I"+r;           }          else             return "=E"+r+"+H"+r+"-K"+r;                        }          private string sumTotal(string scol,int firstrow,int num){           string r = num.ToString();              string fr = firstrow.ToString();              return "=Sum("+scol+fr+":"+scol+r+")";           }          private void CreateExcelWorkbook(DataRow[] rows)          {              string strCurrentDir = Server.MapPath("..") + "\\TempReports\\";              string licenseFile = MapPath("..") + "\\XML\\Aspose.Excel.lic";                           Excel excel = new Excel(licenseFile, this);          ;              string designerFile = strCurrentDir+"cangku2.xls";                          excel.Open(designerFile);              Worksheet sheet = excel.Worksheets["Sheet1"];              sheet.Name = "wuzi";              Cells cells = sheet.Cells;              int styleIndex;                            styleIndex = excel.Styles.Add();              Aspose.Excel.Style stylecell = excel.Styles[styleIndex];              stylecell.Borders[BorderType.LeftBorder].LineStyle=CellBorderType.Thin;              stylecell.Borders[BorderType.TopBorder].LineStyle = CellBorderType.Thin;              stylecell.Borders[BorderType.RightBorder].LineStyle=CellBorderType.Thin;              stylecell.Borders[BorderType.BottomBorder].LineStyle = CellBorderType.Thin;              int iRow =4;              foreach(DataRow row in rows)              {              cells[iRow,0].PutValue(row[0].ToString());              cells[iRow,1].PutValue(row[1].ToString());              cells[iRow,2].PutValue(row[2]);              cells[iRow,3].PutValue( row[3]);              cells[iRow,4].PutValue(row[4]);              cells[iRow,5].PutValue(row[5]);              cells[iRow,6].PutValue(row[3]);              cells[iRow,7].PutValue(row[6]);              cells[iRow,8].PutValue(row[7]);              cells[iRow,9].PutValue(row[3]);              cells[iRow,10].PutValue(row[8]);              cells[iRow,11].Formula=subTotal(iRow,0);              cells[iRow,12].PutValue(row[3]);              cells[iRow,13].Formula=subTotal(iRow,1);              iRow++;                  }              string zj="总计";                  cells[iRow,3].PutValue(zj);                   cells[iRow,6].PutValue(zj);                   cells[iRow,9].PutValue(zj);                 cells[iRow,12].PutValue(zj);                  cells[iRow,4].Formula=sumTotal("E",5,iRow);                  cells[iRow,7].Formula=sumTotal("H",5,iRow);                  cells[iRow,10].Formula=sumTotal("K",5,iRow);                  cells[iRow,13].Formula=sumTotal("N",5,iRow);                  cells[1,8].PutValue(cpStartDate.SelectedDate.ToShortDateString());                  cells[1,12].PutValue(cpEndDate.SelectedDate.ToShortDateString());              Range range = cells.CreateRange(4,0,iRow-4+1,14);                  range.Style = stylecell;              for(int i = 0; i < excel.Worksheets.Count ; i ++)              {                  sheet = excel.Worksheets[i];                  if(sheet.Name != "wuzi")                  {               excel.Worksheets.RemoveAt(i);                      i --;                  }               }                  /*Response.Clear();          Response.Buffer= true;          Response.Charset="GB2312";           this.Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");*/                       excel.Save(HttpUtility.UrlEncode("物资进出库汇总.xls",Encoding.UTF8), SaveType.OpenInBrowser,FileFormatType.Default,this.Response);  }

看完上述内容,你们掌握ASP.NET报表问题的解决方法的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

问题 报表 方法 内容 更多 玩意 服务 不错 安全 繁琐 束手无策 自然而然 为此 不好 不用 中国式 原因 安全性 客户 对此 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海喔噻互联网科技有限公司 上海睿民互联网科技有限公司 广州万易互联网科技有限公司 深圳九邦互联网科技有限公司 互联网科技股票 互联网科技股午盘股票涨跌 新华互联网科技校企合作 老年人脱离互联网科技的作文 随着互联网科技发展 中化能源互联网科技招聘 苏州五指互联网络科技有限 畅思互联网科技 互联网科技如何创业 怎样加入科技互联网 深圳互联网科技的发展 工业互联网科技创业 信承诺互联网科技有限公司 易租星互联网科技有限公司 科技互联网公司两年变化 株洲百竞科技的互联网营销顾问 互联网佳科技有限公司 科技互联网政务服务 山东吉时兔互联网科技有限公司 青岛中康互联网医疗科技有限公司 哈尔滨新华互联网科技学院 深圳育鹏互联网科技有限公司招聘 烟台灵鸽互联网科技有限公司 山东有哪些互联网科技公司 北京品多多互联网科技有限公司 高科技和互联网的现代国家
0