日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > C# >内容正文

C#

C# 导出 EXecl ,导出word,word转PDF

發(fā)布時間:2023/12/18 C# 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C# 导出 EXecl ,导出word,word转PDF 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Aspose 這個插件導(dǎo)出的Execl 被標(biāo)記了評估版權(quán)警告版權(quán)所有2003年至2019年aspose有限公司using Aspose.Words;//插件using NPOI.HSSF.UserModel;using NPOI.SS.Util;using NPOI.HPSF;導(dǎo)出Execl#region word 轉(zhuǎn)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
  • #region 導(dǎo)出意見告知單
    private string HandleGuaranteeDoc(string rowguid)
    {
    string xmCode = “”;
    string xmName = “”;
    string tempFile = Path.GetFullPath(HttpRuntime.AppDomainAppPath.ToString() + @“FileManager\吉林省工程建設(shè)項目協(xié)同服務(wù)告知單.dot”).ToString(); //獲取模板路 徑,這個根據(jù)個人模板路徑而定。
    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"); //項目協(xié)同編碼builder.Write(dtXM.Rows[0]["OPNUMGATHER"].ToString());builder.MoveToBookmark("PROJECTNAME"); //項目名稱builder.Write(dtXM.Rows[0]["PROJECTNAME"].ToString());builder.MoveToBookmark("JSDW"); //建設(shè)單位builder.Write(dtXM.Rows[0]["JSDW"].ToString());builder.MoveToBookmark("LANDNATURE"); //項目屬性用地性質(zhì)builder.Write(dtXM.Rows[0]["LANDNATURE"].ToString());builder.MoveToBookmark("BUILTAREA"); //建筑面積builder.Write(dtXM.Rows[0]["BUILTAREA"].ToString());builder.MoveToBookmark("LANDAREA"); //用地規(guī)模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 "發(fā)改部門":builder.MoveToBookmark("FGBM");builder.Write(dtYJ.Rows[i]["xtbmopinion"].ToString());break;case "住建部門":builder.MoveToBookmark("JSBMYJ");builder.Write(dtYJ.Rows[i]["xtbmopinion"].ToString());break;case "生態(tài)部門":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)){//創(chuàng)建pic文件夾System.IO.Directory.CreateDirectory(pathDir);}doc.Save(gzdWordpath); //保存word//轉(zhuǎn)換pdfConvertWordToPDF(gzdWordpath, gzdWordpdf);return httppatch; } #endregion#region 從datatable中將數(shù)據(jù)導(dǎo)出到excel

    ///
    /// DataTable導(dǎo)出到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文件創(chuàng)建程序信息si.LastAuthor = "LIQUIDGIS"; //填加xls文件最后保存者信息si.Comments = "版權(quán)所有 (C) 2007-2013 OpenWebGIS All Rights Reserved "; //填加xls文件作者信息si.Title = "OPENWEBGIS EXCEL 文件導(dǎo)出"; //填加xls文件標(biāo)題信息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;//設(shè)置列寬sheet.SetColumnWidth(column.Ordinal, (arrColWidth[column.Ordinal] + 1) * 256);}//headerRow.Dispose();}#endregionrowIndex = 2;}#endregion#region 填充內(nèi)容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 動態(tài)表格
    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);
    //設(shè)置各單元格的寬度
    int w1 = 10;
    int w2 = 50;
    if (dtsx.Rows.Count > 0)
    {

    //開始插入表格builder.StartTable();//設(shè)置基本格式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;//設(shè)置此行高度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設(shè)\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導(dǎo)出到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;

    }
  • - ??

  • 總結(jié)

    以上是生活随笔為你收集整理的C# 导出 EXecl ,导出word,word转PDF的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。