Aspose 这个插件导出的Execl 被标记了评估版权警告版权所有2003年至2019年aspose有限公司using Aspose.Words;//插件using NPOI.HSSF.UserModel;using NPOI.SS.Util;using NPOI.HPSF;导出Execl#region word 转pdf/// <summary>/// /// </summary>/// <param name="filePath">word路径 </param>/// <param name="gzdWordpdf">pdf路径</param>/// <returns></returns>private byte[] ConvertWordToPDF(string filePath, string gzdWordpdf){var stream = new MemoryStream();Aspose.Words.Document doc = new Aspose.Words.Document(filePath);doc.Save(stream, Aspose.Words.SaveFormat.Pdf);byte[] buffer = null;if (stream != null){saveTofle(stream, gzdWordpdf);stream.Close();}return buffer;}#endregion
  1. #region 导出意见告知单
    private string HandleGuaranteeDoc(string rowguid)
    {
    string xmCode = “”;
    string xmName = “”;
    string tempFile = Path.GetFullPath(HttpRuntime.AppDomainAppPath.ToString() + @“FileManager\吉林省工程建设项目协同服务告知单.dot”).ToString(); //获取模板路 径,这个根据个人模板路径而定。
    Document doc = new Document(tempFile);
    DocumentBuilder builder = new DocumentBuilder(doc); //操作word

        //写入项目基本信息string sql = "select OPNUMGATHER,PROJECTNAME,JSDW,LANDNATURE,BUILTAREA,LANDAREA,RTCOORDX,LBCOORDX,LBCOORDY,RTCOORDY,XMYWLX from gsa_base_project where row_guid='" + rowguid + "'";DataTable dtXM = DataService.SystemDatabase.GetDataTable(sql);xmCode = dtXM.Rows[0]["OPNUMGATHER"].ToString();xmName = dtXM.Rows[0]["PROJECTNAME"].ToString();builder.MoveToBookmark("OPNUMGATHER");  //项目协同编码builder.Write(dtXM.Rows[0]["OPNUMGATHER"].ToString());builder.MoveToBookmark("PROJECTNAME");  //项目名称builder.Write(dtXM.Rows[0]["PROJECTNAME"].ToString());builder.MoveToBookmark("JSDW");  //建设单位builder.Write(dtXM.Rows[0]["JSDW"].ToString());builder.MoveToBookmark("LANDNATURE");  //项目属性用地性质builder.Write(dtXM.Rows[0]["LANDNATURE"].ToString());builder.MoveToBookmark("BUILTAREA");  //建筑面积builder.Write(dtXM.Rows[0]["BUILTAREA"].ToString());builder.MoveToBookmark("LANDAREA");  //用地规模builder.Write(dtXM.Rows[0]["LANDAREA"].ToString());builder.MoveToBookmark("RTCOORDX");  //东至builder.Write(dtXM.Rows[0]["RTCOORDX"].ToString());builder.MoveToBookmark("LBCOORDX");  //西至builder.Write(dtXM.Rows[0]["LBCOORDX"].ToString());builder.MoveToBookmark("LBCOORDY");  //南至builder.Write(dtXM.Rows[0]["LBCOORDY"].ToString());builder.MoveToBookmark("RTCOORDY");  //北至builder.Write(dtXM.Rows[0]["RTCOORDY"].ToString());builder.MoveToBookmark("OPTYPENAME");  //办理流程builder.Write(dtXM.Rows[0]["XMYWLX"].ToString());//写入意见sql = "select dqbm ,xtbmopinion from gsa_opiniontable t,gsa_base_project g  where  g.row_guid=t.xmguid and xmguid='" + rowguid + "'";DataTable dtYJ = DataService.SystemDatabase.GetDataTable(sql);for (int i = 0; i < dtYJ.Rows.Count; i++){switch (dtYJ.Rows[i]["dqbm"].ToString()){case "自然资源部门":builder.MoveToBookmark("ZRZYOPINION");builder.Write(dtYJ.Rows[i]["xtbmopinion"].ToString());break;case "发改部门":builder.MoveToBookmark("FGBM");builder.Write(dtYJ.Rows[i]["xtbmopinion"].ToString());break;case "住建部门":builder.MoveToBookmark("JSBMYJ");builder.Write(dtYJ.Rows[i]["xtbmopinion"].ToString());break;case "生态部门":builder.MoveToBookmark("STHJBMYJ");builder.Write(dtYJ.Rows[i]["xtbmopinion"].ToString());break;}}#region 写入事项string sqlsx = "select t.*,a.TEMP_STAGE,a.MATTERNAME  from app_relationtable t,app_model_matter a where t.matterguid in(select matterguid from  app_model_matter  ) and  xmguid='" + rowguid + "' and  a.matterguid=t.matterguid";DataTable dtsx = DataService.SystemDatabase.GetDataTable(sqlsx);SXword(builder, dtsx);#endregionstring dateStr = DateTime.Now.ToString("yyyy-MM");string pathDir = Path.Combine(OpenWebGIS.LiquidGIS.Common.Helper.PathHelper.FileManagerPath, "GZDFiles", dateStr);if (!System.IO.Directory.Exists(pathDir))System.IO.Directory.CreateDirectory(pathDir);//新建告知单文件string gzdWordpath = Path.Combine(pathDir, xmCode + xmName + ".doc");string gzdWordpdf = Path.Combine(pathDir, xmCode + xmName + ".pdf");if (System.IO.File.Exists(gzdWordpath))System.IO.File.Delete(gzdWordpath);string httppatch = "/FileManager/GZDFiles/" + dateStr + @"/" + xmCode + xmName + ".pdf"; //"http://" + host + ":" + Port + "/FileManager/" + dateStr + "/" + FileName;string insertsql = "update GSA_BASE_PROJECT  set GZDPATH='" + httppatch + "' where  row_guid='" + rowguid + "'";int kk = DataService.SystemDatabase.ExecuteNonQuery(insertsql);if (false == System.IO.Directory.Exists(pathDir)){//创建pic文件夹System.IO.Directory.CreateDirectory(pathDir);}doc.Save(gzdWordpath); //保存word//转换pdfConvertWordToPDF(gzdWordpath, gzdWordpdf);return httppatch;
    }
    #endregion#region 从datatable中将数据导出到excel
    

    ///
    /// DataTable导出到Excel的MemoryStream
    ///
    /// 源DataTable
    /// 表头文本
    static MemoryStream ExportDT(DataTable dtSource, string strHeaderText)
    {
    HSSFWorkbook workbook = new HSSFWorkbook();
    HSSFSheet sheet = workbook.CreateSheet() as HSSFSheet;

        #region 右击文件 属性信息{DocumentSummaryInformation dsi = PropertySetFactory.CreateDocumentSummaryInformation();dsi.Company = "http://www.openwebgis.com/";workbook.DocumentSummaryInformation = dsi;SummaryInformation si = PropertySetFactory.CreateSummaryInformation();si.Author = "OPENWEBGIS"; //填加xls文件作者信息si.ApplicationName = "OPENWEBGIS EXCEL EXPORT"; //填加xls文件创建程序信息si.LastAuthor = "LIQUIDGIS"; //填加xls文件最后保存者信息si.Comments = "版权所有 (C) 2007-2013 OpenWebGIS  All Rights Reserved "; //填加xls文件作者信息si.Title = "OPENWEBGIS EXCEL 文件导出"; //填加xls文件标题信息si.Subject = "OPENWEBGIS EXCEL"; //填加文件主题信息si.CreateDateTime = DateTime.Now;workbook.SummaryInformation = si;}#endregionHSSFCellStyle dateStyle = workbook.CreateCellStyle() as HSSFCellStyle;HSSFDataFormat format = workbook.CreateDataFormat() as HSSFDataFormat;dateStyle.DataFormat = format.GetFormat("yyyy-mm-dd");//取得列宽int[] arrColWidth = new int[dtSource.Columns.Count];foreach (DataColumn item in dtSource.Columns){string caption = item.Caption;if (string.IsNullOrEmpty(caption)) caption = item.ColumnName;arrColWidth[item.Ordinal] = Encoding.GetEncoding(936).GetBytes(caption).Length;}for (int i = 0; i < dtSource.Rows.Count; i++){for (int j = 0; j < dtSource.Columns.Count; j++){int intTemp = Encoding.GetEncoding(936).GetBytes(dtSource.Rows[i][j].ToString()).Length;if (intTemp > arrColWidth[j]){arrColWidth[j] = intTemp;if (arrColWidth[j] > 250) arrColWidth[j] = 250;//The maximum column width for an individual cell is 255 characters}}}int rowIndex = 0;foreach (DataRow row in dtSource.Rows){#region 新建表,填充表头,填充列头,样式if (rowIndex == 65535 || rowIndex == 0){if (rowIndex != 0){sheet = workbook.CreateSheet() as HSSFSheet;}#region 表头及样式{HSSFRow headerRow = sheet.CreateRow(0) as HSSFRow;headerRow.HeightInPoints = 25;headerRow.CreateCell(0).SetCellValue(strHeaderText);HSSFCellStyle headStyle = workbook.CreateCellStyle() as HSSFCellStyle;headStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.CENTER;HSSFFont font = workbook.CreateFont() as HSSFFont;font.FontHeightInPoints = 20;font.Boldweight = 700;headStyle.SetFont(font);headerRow.GetCell(0).CellStyle = headStyle;sheet.AddMergedRegion(new Region(0, 0, 0, dtSource.Columns.Count - 1));//headerRow.Dispose();}#endregion#region 列头及样式{HSSFRow headerRow = sheet.CreateRow(1) as HSSFRow;HSSFCellStyle headStyle = workbook.CreateCellStyle() as HSSFCellStyle;headStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.CENTER;HSSFFont font = workbook.CreateFont() as HSSFFont;font.FontHeightInPoints = 10;font.Boldweight = 700;headStyle.SetFont(font);foreach (DataColumn column in dtSource.Columns){string ColumnName = GetColnumnName(column.ColumnName);string caption = column.Caption;if (string.IsNullOrEmpty(ColumnName)) caption = column.ColumnName;elsecaption = ColumnName;headerRow.CreateCell(column.Ordinal).SetCellValue(caption);headerRow.GetCell(column.Ordinal).CellStyle = headStyle;//设置列宽sheet.SetColumnWidth(column.Ordinal, (arrColWidth[column.Ordinal] + 1) * 256);}//headerRow.Dispose();}#endregionrowIndex = 2;}#endregion#region 填充内容HSSFRow dataRow = sheet.CreateRow(rowIndex) as HSSFRow;foreach (DataColumn column in dtSource.Columns){HSSFCell newCell = dataRow.CreateCell(column.Ordinal) as HSSFCell;string drValue = row[column].ToString();switch (column.DataType.ToString()){case "System.String": //字符串类型double result;if (isNumeric(drValue, out result)){double.TryParse(drValue, out result);newCell.SetCellValue(result);break;}else{newCell.SetCellValue(drValue);break;}case "System.DateTime": //日期类型DateTime dateV;DateTime.TryParse(drValue, out dateV);newCell.SetCellValue(dateV);newCell.CellStyle = dateStyle; //格式化显示break;case "System.Boolean": //布尔型bool boolV = false;bool.TryParse(drValue, out boolV);newCell.SetCellValue(boolV);break;case "System.Int16": //整型case "System.Int32":case "System.Int64":case "System.Byte":int intV = 0;int.TryParse(drValue, out intV);newCell.SetCellValue(intV);break;case "System.Decimal": //浮点型case "System.Double":double doubV = 0;double.TryParse(drValue, out doubV);newCell.SetCellValue(doubV);break;case "System.DBNull": //空值处理newCell.SetCellValue("");break;default:newCell.SetCellValue("");break;}}#endregionrowIndex++;}using (MemoryStream ms = new MemoryStream()){workbook.Write(ms);ms.Flush();ms.Position = 0;//sheet;//workbook.Dispose();return ms;}
    }
    

#retion word 动态表格
public string SXYD(DocumentBuilder builder, string demp, string rowguid)
{
string sqlsx = “select t.*,a.TEMP_STAGE,a.MATTERNAME from app_relationtable t,app_model_matter a where t.matterguid in(select matterguid from app_model_matter ) and xmguid=’” + rowguid + “’ and a.matterguid=t.matterguid and t.bmmc=’” + demp + “’ and ( t.jsyd != ‘’ or t.SPYD !=’’)”;
DataTable dtsx = DataService.SystemDatabase.GetDataTable(sqlsx);
//设置各单元格的宽度
int w1 = 10;
int w2 = 50;
if (dtsx.Rows.Count > 0)
{

            //开始插入表格builder.StartTable();//设置基本格式builder.RowFormat.Borders.LineStyle = LineStyle.Thick;builder.RowFormat.HeightRule = HeightRule.Exactly;builder.RowFormat.Alignment = RowAlignment.Center;builder.CellFormat.FitText = true;//开始插入表格Table table = builder.StartTable();builder.CellFormat.VerticalAlignment = CellVerticalAlignment.Center;//垂直居中对齐builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐//builder.RowFormat.Height = 30 * dtsx.Rows.Count;//设置此行高度for (int i = 0; i < dtsx.Rows.Count; i++){//开始插入第一行表头builder.InsertCell();builder.CellFormat.VerticalMerge = CellMerge.Previous;builder.CellFormat.HorizontalMerge = CellMerge.None;builder.CellFormat.Width = 1;builder.Writeln("建\n设\n要\n点\n和\n审\n批\n要\n点\n");builder.CellFormat.Width = 25;builder.InsertCell();builder.CellFormat.VerticalMerge = CellMerge.Previous;builder.CellFormat.HorizontalMerge = CellMerge.None;builder.CellFormat.Width = w1;builder.Writeln(dtsx.Rows[i]["BMMC"].ToString());builder.CellFormat.Width = 74;builder.InsertCell();builder.CellFormat.HorizontalMerge = CellMerge.Previous;builder.CellFormat.VerticalMerge = CellMerge.None;builder.CellFormat.Width = w2;builder.Writeln(dtsx.Rows[i]["MATTERNAME"].ToString() + ControlChar.LineBreak);builder.CellFormat.Width = 67;builder.InsertCell();builder.CellFormat.HorizontalMerge = CellMerge.None;builder.CellFormat.VerticalMerge = CellMerge.None;builder.CellFormat.Width = w2;builder.Writeln(dtsx.Rows[i]["JSYD"].ToString());builder.CellFormat.Width = 175;builder.InsertCell();builder.CellFormat.HorizontalMerge = CellMerge.None;builder.CellFormat.VerticalMerge = CellMerge.None;builder.CellFormat.Width = w2;builder.Writeln(dtsx.Rows[i]["SPYD"].ToString());builder.CellFormat.Width = 180;第三行 行头builder.RowFormat.Alignment = RowAlignment.Center;builder.EndRow();}table.AllowAutoFit = false;table.AutoFit(AutoFitBehavior.FixedColumnWidths);//table.AllowAutoFit = false;builder.EndTable();}return "";}

#endregion
///
/// DataTable导出到Excel文件
///
/// 源DataTable
/// 表头文本
/// 保存位置
public static void ExportDTtoExcel(DataTable dtSource, string strHeaderText, string strFileName)
{
using (MemoryStream ms = ExportDT(dtSource, strHeaderText))
{
using (FileStream fs = new FileStream(strFileName, FileMode.Create, FileAccess.Write))
{
byte[] data = ms.ToArray();
fs.Write(data, 0, data.Length);
fs.Flush();
}
}
}
public static bool isNumeric(String message, out double result)
{
Regex rex = new Regex(@"1?\d+[.]?\d*$");
result = -1;
if (rex.IsMatch(message))
{
result = double.Parse(message);
return true;
}
else
return false;

    }

  1. - ↩︎

C# 导出 EXecl ,导出word,word转PDF相关推荐

  1. Typora基础用法:pandoc安装,导入导出word文档,pdf文件。设置图片目录

    点击观看B站视频 Typora基础用法:pandoc安装,导入导出word文档,pdf文件.设置图片目录. 一. pandoc安装 首次安装完typora,是没法导入的,需要安装pandoc 选择[请 ...

  2. mysql导出数据字典_Mysql中三个导出数据字典文档Word或者HTML的工具

    Mysql中三个导出数据字典文档Word或者HTML的工具 发布时间:2020-06-02 17:02:23 来源:PHP中文网 阅读:370 作者:三月 下文我给大家简单讲讲关于Mysql中三个导出 ...

  3. GridView导出到Excel或Word文件

    在项目中我们经常会遇到要求将一些数据导出成Excel或者Word表格的情况,比如中国移动(我是中国移动用户)网上查话费的页面中就有一个导出到Excel的功能,光大网上银行查看历史明细也有这些功能... ...

  4. mysql如何导出word_SQL导出为Word

    SQL导出为Word Word Version: SQL Server 7.0/2000Created by: Alexander Chigrikhttp://www.MSSQLCity.com/ - ...

  5. mysql数据库结构导出word_Windows导出MySQL数据库表结构到Word文档-DBExportDoc V1.0 For MySQL...

    必要条件: 1.Microsoft Office Word(我用WPS不行) 2.mysql-connector-odbc 3.会看文档 下载地址:关注微信公众号:八四七,回复5获取,压缩包中包含有具 ...

  6. PowerDesigner导出数据库表结构word

    打开PowerDesigner新建模型(系统环境变量必须配置32位JDK,否决将出现无法创建JavaVM错误信息powerdesigner Could not Initialize JavaVM!) ...

  7. springboot 使用ftl模板导出echarts图表到word

    最近有个需求是导出一个报表页面,包括页面的echarts图表以及一些分析说明,导出的文件是word文件.记录下做法 1.先定义好一个word静态模板 模板中的动态数据用一个变量来替代,图片部分随便用一 ...

  8. C# .net 利用NPOI插件导出类似简历的word文件

    最近业务有个需求需要导出类似简历的word文件,因为原项目已经用NPOI做了excel的导出,所以干脆用这个继续做word的生成和导出,网站资料实在太少了,通过各种东拼西凑终于做出来一般还比较满意的, ...

  9. golang 将word转为pdf_如何将word转化为pdf格式

    在我们日常工作中经常会遇到文件格式转换的问题,尤其是word与PDF之间的转换运用得特别多.当然,在常见的文件格式转换中,较为麻烦的也是PDF与Word这两者之间的转换了.今天这里,主要介绍word转 ...

  10. 怎样在手机上弄电子版文档_如何在手机上把word转成pdf?

    原标题:如何在手机上把word转成pdf? 很多时候,我们都会用到word格式的文档,例如拟合同.写文章等.做好一份word文档后,要把它发出去的话,小伙伴们把它先转pdf文件会比较有效率.相对于wo ...

最新文章

  1. Web Worker 使用教程
  2. 机器学习入门:机器学习概论
  3. Spring Reactor教程
  4. Spring中的异步和事务性事件侦听器
  5. 关于 OutOfMemoryError 的总结与解决方法
  6. 为什么要用SSM开发框架来架构系统?
  7. 年度总结 是不公平和智障的产物
  8. 高管访谈:AI 驱动的新兴金融市场改革,还有这三项障碍
  9. 【从0到1,搭建Spring Boot+RESTful API+Shiro+Mybatis+SQLServer权限系统】04、统一处理异常...
  10. zabbix+ldap认证故障解决一例
  11. 收藏模板:软件日报告模板(参考)
  12. get与post的区别
  13. 新元宇宙每周连载《地球人奇游天球记》第十四回木星狩猎
  14. 关于Palantir——第一部分
  15. 抖音国庆小游戏是如何实现的?带你走近 Cocos
  16. 矩阵快速幂 NOY 301
  17. 养胃有道——送给胃不好的人
  18. Opencv学习笔记——图像基本操作
  19. UDF函数在Hive中的使用
  20. STM32之CubeMX学习笔记(4)新建工程文件解读

热门文章

  1. 计算机ip如何设置,win7电脑ip地址怎么设置_win7电脑ip怎么设置-win7之家
  2. linux下显示隐藏文件
  3. 2022年茶艺师(初级)考试试卷及茶艺师(初级)模拟试题
  4. 山西大同大学计算机考试打印准考证
  5. Google SketchUp For Dummies
  6. 新年新气象,专注于重要的事
  7. 从初级进阶为高级程序员,需要经历什么?
  8. 黑盒测试用例编写八大方法
  9. 聊城大学计算机专业在全国排名,聊城大学排名
  10. i7 8700 服务器系统,i7 8700k 云服务器