ASPose导出excel简单操作
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简单操作的更多相关文章
- 对Aspose.Cells Excel文件操作的扩展
工作中对Excel操作的需求很是常见,今天其他项目组的同事在进行Excel数据导入时,使用Aspose.Cells Excel 遇到了些问题. 刚好闲来不忙,回想自己用过的Excel文件操作,有NPO ...
- Perl读写Excel简单操作
Perl读写Excel简单操作 使用模块 Spreadsheet::ParseExcel Spreadsheet::WriteExcel 读Excel #!/usr/bin/perl -w use s ...
- C# 使用自带Microsoft.Office.Interop.Excel简单操作Excel文件
项目添加应用 Microsoft.Office.Interop.Excel.dll 文件 引用命名空间: using Excel = Microsoft.Office.Interop.Excel; 简 ...
- C#使用Aspose.Cells导出Excel简单实现
首先,需要添加引用Aspose.Cells.dll,官网下载地址:http://downloads.aspose.com/cells/net 将DataTable导出Xlsx格式的文件下载(网页输出) ...
- java导入导出excel常用操作小结及简单示例
POI中常用设置EXCEL的操作小结: 操作excel如下 HSSFWorkbook wb = new HSSFWorkbook(); //创建一个webbook,对应一个Excel文件 HSSFS ...
- java解决poi导出excel文字水印,导出excel不可操作问题
首先需求是用户提出导出excel数据需使用水印备注其用途: 其实就是在导出excel的同时带有自定义文字水印的导出. 那么我们首先想到的肯定是以一个什么样的思路去解决该问题,首先查找poi导出exce ...
- Aspose 导出excel小demo
//转为pdf private void CelltoPDF(string cellPath, string pdfPath) { Workbo ...
- aspose导出excel文件
using Aspose.Cells; using System; using System.Collections.Generic; using System.Data; using System. ...
- python学习笔记(excel简单操作)
现在的目标是设计一个接口自动化测试框架 用例写在excel里面 利用python自带的pyunit构建 之前已经安装好了处理excel的模块 这次简单的使用下 提前创建好excel文件 “testca ...
随机推荐
- CSS样式重置
;;;;;;;;;; } input, select { vertical-align:middle; }
- Propagation of Visual Entity Properties Under Bandwidth Constraints
1. Introduction The Saga of Ryzom is a persistent massively-multiplayer online game (MMORPG) release ...
- 如何在 IIS 上搭建 mercurial server
mercurial server 对于代码管理工具,更多的人可能更熟悉 Git 一些(Git 太火了).其实另外一款分布式代码管理工具也被广泛的使用,它就是 mercurial.多人协作时,最好能够通 ...
- 小议map排序问题
map有序无序?如果说有序, 这个顺序是怎么定义的? 安装put的先后顺序吗? 还是被put元素的内容呢? 经观察,应该是后者,跟put先后顺序无关, 跟内部实现有关(可能是hash排序的, 非大小排 ...
- Atitit图片复制父目录给你设计的实现 基于win 图片浏览器
Atitit图片复制父目录给你设计的实现 基于win 图片浏览器 打开属性,获取其路径...1 Ahk参数传递,使用环境变量即可1 如何ahk异常转换为java异常1 如何获取ahk的输出.1 C:\ ...
- iOS----------使用 Xcode6或Xcode7配置.pch文件
刚上手 Xcode6/Xcode7 的人,总会发现之前在 6 之前常常会在“利用名-Prefix.pch”这个文件中来配置我们全局要用到的头文件,但是 xcode6 没有了,人家说,这类东西有时候也会 ...
- WPF入门教程系列十二——依赖属性(二)
二. 依赖属性的优先级 由于WPF 允许我们可以在多个地方设置依赖属性的值,所以我们就必须要用一个标准来保证值的优先级别.比如下面的例子中,我们在三个地方设置了按钮的背景颜色,那么哪一个设置才会是最终 ...
- C 中读取键盘码
键盘码在底层开发中经常用到,有时候我们会忘记它们,就要急急忙忙的去找 键-码 对照表查看,其实程序可以自己打印出 键-码 对应值 #include <stdio.h> #include & ...
- Javascript快速入门(上篇)
Javascript的熟练之路,小弟来了. JavaScript简介:JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript ...
- 【WPF】制作自定义的列表项面板
我们在使用像ListBox的列表控件时,我们都知道可以通过其ItemsPanel的依赖项属性来自定义一个面板来放置列表控件中的列表项.除了CLR库提供的几个面板外,我们完全可以把自己写的面板作为项列表 ...