COM 自动化控制Excel应用程序
class Program
{
static void Main(string[] args)
{
var dt = new System.Data.DataTable(); dt.Columns.Add("#"); dt.Columns.Add("Expiration Date"); dt.Columns.Add("Remark"); DataRow dr = dt.NewRow(); dr[] = ;
dr[] = "23/9/2015";
dr[] = "For H&M (Shanghai DC) use. H&M is using EPV and it does not have license control function, this license file is for record only. "; dt.Rows.Add(dr); dr = dt.NewRow(); dr[] = ;
dr[] = "23/12/2015";
dr[] = "For SZ SI internal testing. "; dt.Rows.Add(dr); ExportToExcel(dt);
} /// <summary>
/// 导出Excel
/// </summary>
/// <param name="dt">要导出的DataTable</param>
private static void ExportToExcel(System.Data.DataTable dt)
{
if (dt == null) return;
var xlApp = new Application();
xlApp.Visible = true; var workBook = xlApp.Workbooks.Add(Type.Missing);
//从1开始
Worksheet workSheet = workBook.Sheets[];
Range range; //写入标题
for (int i = ; i < dt.Columns.Count; i++)
{
workSheet.Cells[, i + ] = dt.Columns[i].ColumnName;
range = (Range)workSheet.Cells[, i + ];
range.Interior.ColorIndex = ;//背景颜色
range.Font.ColorIndex = ;
range.HorizontalAlignment = XlHAlign.xlHAlignCenter;//居中
//加边框
range.BorderAround(XlLineStyle.xlContinuous, XlBorderWeight.xlThin, XlColorIndex.xlColorIndexAutomatic, null);
range.EntireColumn.ColumnWidth = ;
range.EntireRow.AutoFit();//自动调整行高
}
//写入内容
for (int r = ; r < dt.Rows.Count; r++)
{
for (int i = ; i < dt.Columns.Count; i++)
{
workSheet.Cells[r + , i + ] = dt.Rows[r][i];
range = (Range)workSheet.Cells[r + , i + ];
range.Font.Size = ;//字体大小
range.HorizontalAlignment = XlHAlign.xlHAlignCenter;//居中
range.VerticalAlignment = XlHAlign.xlHAlignCenter;
//加边框
range.BorderAround(XlLineStyle.xlContinuous, XlBorderWeight.xlThin, XlColorIndex.xlColorIndexAutomatic, null);
range.EntireRow.AutoFit();//自动调整行高
range.WrapText = true;
if (i == dt.Columns.Count - )
{
range.HorizontalAlignment = XlHAlign.xlHAlignLeft;
}
}
}
} }
COM 自动化控制Excel应用程序的更多相关文章
- WIN7中组件服务中的DCOM配置找不到Microsoft Excel应用程序的解决办法
转自:http://blog.csdn.net/lploveme/article/details/8215265 在运行栏中输入命令:dcomcnfg,打开组件服务管理窗口,但是却发现找不到Micro ...
- 利用BeEF REST API自动化控制僵尸主机
本文首发Freebuf,属于原创奖励计划,未经许可禁止转载. http://www.freebuf.com/articles/network/137662.html 一. 前言 关于BeEF,不再多介 ...
- 用Delphi将数据导入到Excel并控制Excel
一.调用Excel的方法:一般情况下有两种方法调用Excel:1. 直接使用Delphi自带的组件:在Form中分别放入ExcelApplication, ExcelWorkbook和ExcelWo ...
- windows 2008 R2 64位系统,找到Microsoft Excel 应用程序
在windows 2003 操作系统中, 1.在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务", 2.依次双击& ...
- 使用events.EventEmitter 控制Node.js 程序执行流程
使用events.EventEmitter 控制Node.js 程序执行流程 标题写的可能也不太对,大家领会精神: Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台. ...
- 1.VBA 基本概念——《Excel VBA 程序开发自学宝典》
1.1 常见对象及含义 对象名 含义 application 整个Excel应用程序 window 窗口 worksheet 一个工作表 sheets 指定工作簿的所有工作表的合集 shaperan ...
- 使用Appium-Desktop捕获APP元素控件实现自动化控制
使用Appium捕获APP的元素控件 实现自动化控制 我是用的是华为P20手机进行测试,为了映射出它的adb端口,需再去官网下载安装一个华为手机助手,然后将手机调成开发者模式,连接时选择传输文件模式. ...
- VFP控制Excel操作集
◆访问EXCEL:ExcelSheet = GetObject('','Excel.Sheet')返回结果为类,则成功.例:ExcelSheet = GetObject('','Excel.Sheet ...
- Python_Selenium之浏览器封装_去掉浏览器受到自动化控制横条显示及去掉是否记住密码弹窗
封装如下: from selenium import webdriverfrom common.config_utils import configfrom selenium.webdriver.ch ...
随机推荐
- python学习笔记:第5天 基本数据类型之字典
目录 字典的介绍 补充 字典的介绍 字典(dict)是python中唯一的一个映射的数据类型,它是以一对一对的键值对的形式组成的一个容器,在python中字典也是可变的,我们也可以在字典中存放各种类型 ...
- iOS性能调优工具
总结: 三类工具 基础工具 (NSLog的方式记录运行时间.) 性能工具.检测各个部分的性能表现,找出性能瓶颈 内存工具.检查内存正确性和内存使用效率 性能工具: 可以衡量CPU的使用,时间的消耗,电 ...
- ReadyAPI 教程和示例(二)
声明:如果你想转载,请标明本篇博客的链接,请多多尊重原创,谢谢! 本篇使用的 ReadyAPI版本是2.5.0 接上一篇: 4.修改SoapUI测试 本节将演示如何为测试用例添加测试步骤以及更改请求参 ...
- bash脚本练习
练习一: 1.添加5个用户,user1,...,user5: 2.每个用户的密码同用户名,添加密码完成后,不显示命令的执行结果: 3.每个用户添加完成后,都要显示用户某某已添加成功. useradd ...
- Hexo 博客 之 腾讯云部署过程
写在前面 Hexo 博客搭好了有差不多两周时间了,这期间走了很多弯路,跳了很多坑.一些坑自己 bing 到了答案,找到了解决方法,一些坑则是自己摸索出来的解决方法.现在准备写几篇关于搭建流程.搭建过程 ...
- python常用命令—终端安装win32的两种方法
1, pip install pywin32 2, pip install pypiwin32
- hibernate 异常a different object with the same identifier value was already associated with the session
在使用hibernate的时候发现了一个问题,记录一下解决方案. 前提开启了事务和事务间并无commit,进行两次save,第二次的时候爆出下面的异常a different object with t ...
- maven 教程二 深入
一:编写POM <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w ...
- wpa_supplicant之eloop_run分析
部分内容转自http://blog.chinaunix.net/uid-20273473-id-3128151.html 重要结构体!!! struct eloop_sock { int sock; ...
- 《剑指Offer》题三十一~题四十
三十一.栈的压入.弹出序列 题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序.假设压入栈的数字均不相等.例如,序列{1, 2, 3, 4 ,5}是某栈的压栈序列 ...