string file = FileDialogHelper.SaveExcel(string.Format("{0}.xls", excelName));
if (!string.IsNullOrEmpty(file) && dt.Rows.Count > 0)
{
try
{
string error = "";
DataTableToExcel(dt, file, out error);
if (!string.IsNullOrEmpty(error))
{
MessageDxUtil.ShowError(string.Format("导出Excel出现错误:{0}", error));
}
else
{
if (MessageDxUtil.ShowYesNoAndTips("导出成功,是否打开文件?") == System.Windows.Forms.DialogResult.Yes)
{
System.Diagnostics.Process.Start(file);
}
}
}
catch (Exception ex)
{
LogTextHelper.Error(ex);
MessageDxUtil.ShowError(ex.Message);
}
}

  对ASPose的操作

 error = "";
Aspose.Cells.Workbook wb = new Aspose.Cells.Workbook(); try
{
if (datatable == null)
{
error = "DataTableToExcel:datatable 为空";
return false;
} //为单元格添加样式
Aspose.Cells.Style style = wb.Styles[wb.Styles.Add()];
//设置居中
style.HorizontalAlignment = Aspose.Cells.TextAlignmentType.Center;
//设置背景颜色
style.ForegroundColor = System.Drawing.Color.FromArgb(153, 204, 0);
//style.Pattern = BackgroundType.Solid;
style.Font.IsBold = true; //为单元格添加样式
Aspose.Cells.Style styleHeader = wb.Styles[wb.Styles.Add()];
//设置居中
styleHeader.HorizontalAlignment = Aspose.Cells.TextAlignmentType.Center;
//设置背景颜色
styleHeader.ForegroundColor = System.Drawing.Color.Gold;
styleHeader.Borders[Aspose.Cells.BorderType.LeftBorder].LineStyle = Aspose.Cells.CellBorderType.Medium; //应用边界线 左边界线
styleHeader.Borders[Aspose.Cells.BorderType.RightBorder].LineStyle = Aspose.Cells.CellBorderType.Medium; //应用边界线 右边界线
styleHeader.Borders[Aspose.Cells.BorderType.TopBorder].LineStyle = Aspose.Cells.CellBorderType.Medium; //应用边界线 上边界线
styleHeader.Borders[Aspose.Cells.BorderType.BottomBorder].LineStyle = Aspose.Cells.CellBorderType.Medium; //应用边界线 下边界线
styleHeader.Pattern = Aspose.Cells.BackgroundType.Solid;
styleHeader.Font.IsBold = true;
int rowIndex = 0;
//Aspose.Cells.Range range;
//Aspose.Cells.Cell cell;
//range = wb.Worksheets[0].Cells.CreateRange(0, 0, 2, 1);
//range.Merge();
//range.SetStyle(styleHeader);
//cell = range[0, 0];
//cell.PutValue("评估项目");
////range.SetStyle(styleHeader); //range = wb.Worksheets[0].Cells.CreateRange(0, 1, 2, 1);
//range.Merge();
//range.SetStyle(styleHeader);
//cell = range[0, 0];
//cell.PutValue("评估分值");
//range = wb.Worksheets[0].Cells.CreateRange(0, 2, 1, 3);
//range.Merge();
//range.SetStyle(styleHeader);
//cell = range[0, 0];
//cell.PutValue("评分结果(不适合项目调整前)");
//range = wb.Worksheets[0].Cells.CreateRange(1, 2, 1, 1);
//range.Merge();
//range.SetStyle(styleHeader);
//cell = range[0, 0];
//cell.PutValue("制度健全性");
//range = wb.Worksheets[0].Cells.CreateRange(1, 3, 1, 1);
//range.Merge();
//range.SetStyle(styleHeader);
//cell = range[0, 0];
//cell.PutValue("遵循有效性");
//range = wb.Worksheets[0].Cells.CreateRange(1, 4, 1, 1);
//range.Merge();
//range.SetStyle(styleHeader);
//cell = range[0, 0];
//cell.PutValue("合计");
//range = wb.Worksheets[0].Cells.CreateRange(0, 5, 2, 1);
//range.Merge();
//range.SetStyle(styleHeader);
//cell = range[0, 0];
//cell.PutValue("评分结果(不适合项目调整后)");
//range = wb.Worksheets[0].Cells.CreateRange(0, 6, 2, 1);
//range.Merge();
//range.SetStyle(styleHeader);
//cell = range[0, 0];
//cell.PutValue("权重");
//range = wb.Worksheets[0].Cells.CreateRange(0, 7, 2, 1);
//range.Merge();
//range.SetStyle(styleHeader);
//cell = range[0, 0];
//cell.PutValue("最终结果");
////Aspose.Cells.Range range1 = wb.Worksheets[0].Cells.CreateRange(0, 1, 2, 1);
////range1.Merge();
////Aspose.Cells.Range range2 = wb.Worksheets[0].Cells.CreateRange(0, 2, 1, 3);
////range2.Merge();
////Aspose.Cells.Range range3 = wb.Worksheets[0].Cells.CreateRange(0, 5, 2, 1);
////range3.Merge();
////Aspose.Cells.Range range4 = wb.Worksheets[0].Cells.CreateRange(0, 6, 2, 1);
////range4.Merge();
////Aspose.Cells.Range range5 = wb.Worksheets[0].Cells.CreateRange(0, 7, 2, 1);
////range5.Merge();
////wb.Worksheets[0].Cells[rowIndex, 0].PutValue("评估项目");
////wb.Worksheets[0].Cells[rowIndex, 0].SetStyle(styleHeader);
////wb.Worksheets[0].Cells[rowIndex, 1].PutValue("评估分值");
////wb.Worksheets[0].Cells[rowIndex, 1].SetStyle(styleHeader);
////wb.Worksheets[0].Cells[rowIndex, 2].PutValue("评分结果(不适合项目调整前)");
////wb.Worksheets[0].Cells[rowIndex, 2].SetStyle(styleHeader);
////wb.Worksheets[0].Cells[1, 2].PutValue("制度健全性");
////wb.Worksheets[0].Cells[1, 2].SetStyle(styleHeader);
////wb.Worksheets[0].Cells[1, 3].PutValue("遵循有效性");
////wb.Worksheets[0].Cells[1, 3].SetStyle(styleHeader);
////wb.Worksheets[0].Cells[1, 4].PutValue("合计");
////wb.Worksheets[0].Cells[1, 4].SetStyle(styleHeader);
////wb.Worksheets[0].Cells[rowIndex, 5].PutValue("评分结果(不适合项目调整后)");
////wb.Worksheets[0].Cells[rowIndex, 5].SetStyle(styleHeader);
////wb.Worksheets[0].Cells[rowIndex, 6].PutValue("权重");
////wb.Worksheets[0].Cells[rowIndex, 6].SetStyle(styleHeader);
////wb.Worksheets[0].Cells[rowIndex, 7].PutValue("最终结果");
////wb.Worksheets[0].Cells[rowIndex, 7].SetStyle(styleHeader); //styleHeader.ForegroundColor = System.Drawing.Color.LightCoral;
//wb.Worksheets[0].Cells[2, 0].PutValue("(1)");
//wb.Worksheets[0].Cells[2, 0].SetStyle(styleHeader);
//wb.Worksheets[0].Cells[2, 1].PutValue("(2)");
//wb.Worksheets[0].Cells[2, 1].SetStyle(styleHeader);
//wb.Worksheets[0].Cells[2, 2].PutValue("(3)");
//wb.Worksheets[0].Cells[2, 2].SetStyle(styleHeader);
//wb.Worksheets[0].Cells[2, 3].PutValue("(4)");
//wb.Worksheets[0].Cells[2, 3].SetStyle(styleHeader);
//wb.Worksheets[0].Cells[2, 4].PutValue("(5)=(3)+(4)");
//wb.Worksheets[0].Cells[2, 4].SetStyle(styleHeader);
//wb.Worksheets[0].Cells[2, 5].PutValue("(6)");
//wb.Worksheets[0].Cells[2, 5].SetStyle(styleHeader);
//wb.Worksheets[0].Cells[2, 6].PutValue("(7)");
//wb.Worksheets[0].Cells[2, 6].SetStyle(styleHeader);
//wb.Worksheets[0].Cells[2, 7].PutValue("(8)=(6)×(7)");
//wb.Worksheets[0].Cells[2, 7].SetStyle(styleHeader);
for (int i = 0; i < datatable.Columns.Count; i++)
{
DataColumn col = datatable.Columns[i];
string columnName = col.Caption ?? col.ColumnName;
wb.Worksheets[0].Cells[rowIndex, i].PutValue(columnName);
wb.Worksheets[0].Cells[rowIndex, i].SetStyle(style);
}
rowIndex++;
//rowIndex = 3; foreach (DataRow row in datatable.Rows)
{
for (int i = 0; i < datatable.Columns.Count; i++)
{ wb.Worksheets[0].Cells[rowIndex, i].PutValue(row[i].ToString());
wb.Worksheets[0].Cells[rowIndex, i].SetStyle(style);
}
rowIndex++;
}
string ExcelHeader = "PROJECTNAME,STANDARDSCORE,SYSINTEGRITY,FOLLOWEFFECTIVENESS,TOTAL,SCORERESULT,WEIGHT,ENDRESULT";
//foreach (DataRow row in datatable.Rows)
//{
// int i = 0;
// foreach (string col in ExcelHeader.Split(','))
// {
// wb.Worksheets[0].Cells[rowIndex, i].PutValue(row[col].ToString());
// wb.Worksheets[0].Cells[rowIndex, i].SetStyle(style);
// i++;
// }
// rowIndex++;
//}
//for (int k = 0; k < datatable.Columns.Count; k++)
//{
// wb.Worksheets[0].AutoFitColumn(k, 0, 150);
//}
wb.Worksheets[0].FreezePanes(1, 0, 1, datatable.Columns.Count);
wb.Save(filepath);
return true;
}
catch (Exception e)
{
error = error + " DataTableToExcel: " + e.Message;
return false;
}

  

ASPose导出excel简单操作的更多相关文章

  1. 对Aspose.Cells Excel文件操作的扩展

    工作中对Excel操作的需求很是常见,今天其他项目组的同事在进行Excel数据导入时,使用Aspose.Cells Excel 遇到了些问题. 刚好闲来不忙,回想自己用过的Excel文件操作,有NPO ...

  2. Perl读写Excel简单操作

    Perl读写Excel简单操作 使用模块 Spreadsheet::ParseExcel Spreadsheet::WriteExcel 读Excel #!/usr/bin/perl -w use s ...

  3. C# 使用自带Microsoft.Office.Interop.Excel简单操作Excel文件

    项目添加应用 Microsoft.Office.Interop.Excel.dll 文件 引用命名空间: using Excel = Microsoft.Office.Interop.Excel; 简 ...

  4. C#使用Aspose.Cells导出Excel简单实现

    首先,需要添加引用Aspose.Cells.dll,官网下载地址:http://downloads.aspose.com/cells/net 将DataTable导出Xlsx格式的文件下载(网页输出) ...

  5. java导入导出excel常用操作小结及简单示例

    POI中常用设置EXCEL的操作小结: 操作excel如下 HSSFWorkbook wb = new HSSFWorkbook();  //创建一个webbook,对应一个Excel文件 HSSFS ...

  6. java解决poi导出excel文字水印,导出excel不可操作问题

    首先需求是用户提出导出excel数据需使用水印备注其用途: 其实就是在导出excel的同时带有自定义文字水印的导出. 那么我们首先想到的肯定是以一个什么样的思路去解决该问题,首先查找poi导出exce ...

  7. Aspose 导出excel小demo

    //转为pdf         private void CelltoPDF(string cellPath, string pdfPath)         {             Workbo ...

  8. aspose导出excel文件

    using Aspose.Cells; using System; using System.Collections.Generic; using System.Data; using System. ...

  9. python学习笔记(excel简单操作)

    现在的目标是设计一个接口自动化测试框架 用例写在excel里面 利用python自带的pyunit构建 之前已经安装好了处理excel的模块 这次简单的使用下 提前创建好excel文件 “testca ...

随机推荐

  1. SVN 使用

    我是一个前端,svn 的服务器配置也是后端弄好的,到底怎么弄的不清楚. 最开始是想和xcode关联起来,每次提交代码也方便,但是在Xcode里的偏好设置Accounts 模块 添加了SVN 服务端地址 ...

  2. Docker镜像

    docker镜像123? 额,由于没有实验环境,没有亲手实践,因此理解可能有不对的地方. 反正也是学习笔记,以后再修改吧... docker的镜像跟virtualbox的镜像不一样.在虚拟机中,镜像是 ...

  3. qqzoneQQ空间漏洞扫描器的设计attilax总结

    qqzoneQQ空间漏洞扫描器的设计attilax总结 1.1. 获取对方qq(第三方,以及其他机制)1 1.2. QQ空间的html流程1 1.3. 判断是否有权限1 1.4. 2015年度Web服 ...

  4. C#学习系列-抽象方法与虚拟方法的区别

    参考:http://www.microsoftvirtualacademy.com/Content/ViewContent.aspx?et=9851&m=9838&ct=31054 如 ...

  5. salesforce 零基础学习(二十一)workflow Q&A

    有一篇内容专门写了workflow,后来用到的时候心生疑问,不知道小伙伴有没有和我想法一样的,workflow具体内容原来已经说过,不在过多叙述,只说一下运行条件. 那就是:当满足运行条件时,执行相关 ...

  6. python学习 文件操作

    一.python打开文件 #=====================python 文件打开方式 open()===================== # open(fileName,type) t ...

  7. maven项目部署打包

    方法一.把maven依赖的jar包一起打包 http://maven.apache.org/plugins/maven-assembly-plugin/usage.html pom/build中加入以 ...

  8. 再谈collections模块defaultdict()和namedtuple()

    defaultdict()和namedtuple()是collections模块里面2个很实用的扩展类型.一个继承自dict系统内置类型,一个继承自tuple系统内置类型.在扩展的同时都添加了额外的很 ...

  9. CircularSeekBar

    /** * @author Raghav Sood * @version 1 * @date 26 January, 2013 */ package com.appaholics.circularse ...

  10. 【原创】.NET读写Excel工具Spire.Xls使用(1)入门介绍

    在.NET平台,操作Excel文件是一个非常常用的需求,目前比较常规的方法有以下几种: 1.Office Com组件的方式:这个方式非常累人,微软的东西总是这么的复杂,使用起来可能非常不便,需要安装E ...