C#导出Excel,并且设置Excel单元格格式,合并单元格.
注:要添加COM组件 Microsoft Excel 11.0 Object Library 引用。
具体代码如下:
using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;
using Excel;
using System.Reflection;
using System.Data;
using System.Data.OleDb;
namespace RecruitmentReport
{
classdoExcel
{
enumColumnName {A1=1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1}
/// <summary>
/// 导出到Execl
/// </summary>
/// <param name="dt">数据集</param>
/// <param name="strSheetName">工作部名称</param>
/// <param name="pathloading">保存路径</param>
/// <param name="title">标题名</param>
publicvoid doExport(DataSet dt, string strSheetName, string pathloading, string title)
{
int columnIndex = dt.Tables[0].Columns.Count;
string cName =((ColumnName)columnIndex).ToString();
Excel.Application excel = new Excel.Application(); //Execl的操作类
Excel.Workbook bookDest =(Excel.Workbook)excel.Workbooks.Add(Missing.Value);
Excel.Worksheet sheetDest = bookDest.Worksheets.Add(Missing.Value, Missing.Value, Missing.Value, Missing.Value) as Excel.Worksheet;//给工作薄添加一个Sheet
sheetDest.Name = strSheetName;
for (int i = bookDest.Worksheets.Count; i >1; i--)
{
Worksheet wt = (Worksheet)bookDest.Worksheets[i];
if (wt.Name != strSheetName)
{
wt.Delete();
}
}
int rowIndex = 2;
int colIndex = 0;
Range rngRow = (Excel.Range)sheetDest.Columns[1, Type.Missing];
rngRow.UseStandardWidth = 70;
Range rngA = (Range)sheetDest.Columns["A", Type.Missing];//设置单元格格式
rngA.NumberFormatLocal = "@";//字符型格式
Range rngJ = (Range)sheetDest.Columns["J", Type.Missing];
rngJ.NumberFormatLocal = "@";
Range rngQ = (Range)sheetDest.Columns["Q", Type.Missing];
rngQ.NumberFormatLocal = "@";
Range rngE = (Range)sheetDest.Columns["E", Type.Missing];
rngE.NumberFormatLocal = @"yyyy-mm-dd";//日期型格式
sheetDest.get_Range("A1", cName).Merge(sheetDest.get_Range("A1", cName).MergeCells);//合并单元格
excel.Application.Workbooks.Add(true);
try
{
Range rngfirst = (Excel.Range)sheetDest.Cells[1, 1];
sheetDest.Cells[1, 1] = title + System.DateTime.Now.Month.ToString().PadLeft(2, '0') + System.DateTime.Now.Day.ToString().PadLeft(2, '0') + System.DateTime.Now.Year.ToString();
rngfirst.Font.Size = 14;
rngfirst.Font.Name = "Calibri";//设置单元格字体
rngfirst.RowHeight = 18;
rngfirst.HorizontalAlignment = XlHAlign.xlHAlignCenter;
rngfirst.Font.Bold = true;
rngfirst.Borders.LineStyle = XlLineStyle.xlContinuous;//设置单元格边框
foreach (DataColumn col in dt.Tables[0].Columns)
{
colIndex++;
Range rng = (Excel.Range)sheetDest.Cells[2, colIndex];
sheetDest.Cells[2, colIndex] = col.ColumnName;//Execl中的第一列把DataTable的列名先导进去
rng.Font.Name = "Calibri";
rng.Font.Size = 11;
rng.Font.Bold = true;
rng.Font.Color = ConsoleColor.Blue;
rng.HorizontalAlignment = XlHAlign.xlHAlignCenter;
rng.RowHeight = 15;
rng.Borders.LineStyle = XlLineStyle.xlContinuous;
rng.ColumnWidth = 15.5;
// sheetDest.Range[1, colIndex].Font.Bold = false;
}
//导入数据行
foreach (DataRow row in dt.Tables[0].Rows)
{
rowIndex++;
colIndex = 0;
foreach (DataColumn col in dt.Tables[0].Columns)
{
colIndex++;
sheetDest.Cells[rowIndex, colIndex] = row[col.ColumnName].ToString();
Range rng01 = (Excel.Range)sheetDest.Cells[rowIndex, colIndex];
rng01.HorizontalAlignment = XlHAlign.xlHAlignCenter;
rng01.Borders.LineStyle = XlLineStyle.xlContinuous;
rng01.RowHeight = 15;
rng01.Font.Name = "Calibri";
rng01.Font.Size = 11;
}
}
}
catch { thrownewException(); }
bookDest.Saved = true;
bookDest.SaveCopyAs(pathloading);//保存
excel.Quit();
excel = null;
GC.Collect();//垃圾回收
}
}
}
http://hi.baidu.com/jimpanf/item/6773171847b46e14e2f98637
C#导出Excel,并且设置Excel单元格格式,合并单元格.的更多相关文章
- Python生成文本格式的excel\xlwt生成文本格式的excel\Python设置excel单元格格式为文本\Python excel xlwt 文本格式
Python生成文本格式的excel\xlwt生成文本格式的excel\Python设置excel单元格格式为文本\Python excel xlwt 文本格式 解决: xlwt 中设置单元格样式主要 ...
- poi导出Excel报表多表头双层表头、合并单元格
效果图: controller层方法: /** * * 导出Excel报表 * @param request * @return * */ @ ...
- 复杂的POI导出Excel表格(多行表头、合并单元格)
poi导出excel有两种方式: 第一种:从无到有的创建整个excel,通过HSSFWorkbook,HSSFSheet HSSFCell, 等对象一步一步的创建出工作簿,sheet,和单元格,并添加 ...
- 利用PHPExcel导出Excel并设置Excel格式以及数据源
浏览:23969 发布日期:2013/07/24 分类:技术分享 代码有点长,读起来有点累.先来个截图 导出的Excel太宽了,所以将后面的列宽重新调整了再截的图 功能包括: 1.设置单元格格式,包括 ...
- C# Excel行高、列宽、合并单元格、单元格边框线、冻结
private _Workbook _workBook = null;private Worksheet _workSheet = null;private Excel.Application _ex ...
- python xlwt 设置单元格样式-合并单元格
xlwt模块详解--合并单元格 import xlwtworkbook = xlwt.Workbook()worksheet = workbook.add_sheet('My sheet')# 合并第 ...
- c# Excel 行高、列宽、合并单元格、单元格边框线、冻结
http://www.2cto.com/kf/201007/52724.html 新增选择整列: Range = ((Range)(WALeTieSheet.Cells[1, PwCStartCol_ ...
- 在Asp.Net MVC中使用NPOI插件实现对Excel的操作(导入,导出,合并单元格,设置样式,输入公式)
前言 NPOI 是 POI 项目的.NET版本,它不使用 Office COM 组件,不需要安装 Microsoft Office,目前支持 Office 2003 和 2007 版本. 1.整个Ex ...
- NPOI之Excel——合并单元格、设置样式、输入公式
首先建立一个空白的工作簿用作测试,并在其中建立空白工作表,在表中建立空白行,在行中建立单元格,并填入内容: //建立空白工作簿 IWorkbook workbook = new HSSFWorkboo ...
随机推荐
- SQLSERVER复制优化之一《改变包大小》
SQLSERVER复制优化之一<改变包大小> 自从搭了复制之后以为可以安枕无忧了,谁不知问题接踵而来 这次遇到的问题是丢包,不知道情况的读者可以先看一下我之前写的一篇<SQLSERV ...
- Salesforce 生成测试可用 Id
在写 Test Class 的时候,有时候需要一批有 Id 的数据或者把 Id 作为参数等情况,在数据关系比较复杂的情况下去造真实数据有些麻烦,于是找到这样一个可以生成 Id 的方法可以用来辅助测试! ...
- 团队作业—第二周—SRS
一.系统整体用例图: 二.用户用例图: 三.医院用例图:
- MVC3不能正确识别JSON中的Enum枚举值
一.背景 在MVC3项目里,如果Action的参数中有Enum枚举作为对象属性的话,使用POST方法提交过来的JSON数据中的枚举值却无法正确被识别对应的枚举值. 二.Demo演示 为了说明问题,我使 ...
- C#与数据库访问技术总结(六)之Command对象创建SQl语句代码示例
Command对象创建SQl语句代码示例 说明:前面介绍了 Command 对象的方法和一些属性,回顾一下 Command对象主要用来执行SQL语句.利用Command对象,可以查询数据和修改数据. ...
- 博客还是搬到csdn吧~
从csdn转到博客园是因为博客园开放了博客接口,方便发博客,再者博客样式也比较多,排版兼容性也较好. but, 博客园的链接在多个群里进行了宣传,当时大概有2000多的访问量,但是一个月过去了,现在还 ...
- WindowsPhone8拍照功能实现简介
WindowsPhone作为一款智能手机操作系统,支持APP中拍照是必不可少的,目前在WP8上的拍照主要有以下三种途径: 1.使用CameraCaptureTask: 2.使用PhotoCamera类 ...
- 01、手把手Android攻城入门
1.Android开发环境搭建: Eclipse Java EE IDE + ADT-23.0.6 + android-sdk-21-with-sdk-manager-r23.0.2 (安卓5.0)+ ...
- 教程:使用Diskpart创建、扩展或删除磁盘分区
在Windows Server环境下进行基本的磁盘操作时,管理员可以使用Disk Partition Utility或Diskpart等工具.后者是一个命令行解释器,可作为磁盘管理工具. 管理员可以使 ...
- [原创]推荐一款强大的.NET程序内存分析工具.NET Memory Profiler
[原创]推荐一款强大的.NET程序内存分析工具.NET Memory Profiler 1 官方网站:http://memprofiler.com/2 下载地址:http://memprofiler. ...