关于AX操作Excel的方法

这几天用空余时间好好的看了下Excel在AX中的操作.很多东东不是很准确,还有一些东东没有搞明白,不过基本的要求是可以达到了.可以对工作表内的特定行,列或单元格进行读、写操作,以及定义字体颜色,粗体,背景色,还有就是风格,不过好象只有一种,怎么变动都没有改变,郁闷。

static void Job152(Args _args)
{
    #Excel
    //打开Excel表并写入
    SysExcelApplication excel;                                 //定义Excel实例名
    SysExcelWorkbooks books;                                   //定义工作簿集
    SysExcelWorkbook book;                                     //定义工作簿
    SysExcelWorksheets sheets;                                 //定义工作表集
    SysExcelWorksheet sheet;                                   //定义工作表
    SysExcelRange range,rows;
    SysExcelRange  row;                               //定义单元格范围
    SysExcelCells cells;                                       //定义单元格集
    SysExcelCell cell;                                         //定义单元格
    SysExcelStyle      Style;                                  //定义字体风格
    SysExcelStyles              styles;                        //定义字体风格集
    SysExcelInterior            interior;                      //定义单元格底纹
    SysExcelFont                font;                          //定义字体
    sysExcelComment             Comment;
    sysExcelFormatConditions    Conditions;
    sysExcelFormatCondition     Condition ;
    Int I =  0;
    int J =  0;

//读Excel数据
    CCADOConnection cn = new
CCADOConnection();                
//定义连接数据源
    CCADOCommand command = new CCADOCommand();                  //定义执行命令
    CCADORecordset rs = new CCADORecordset();                   //定义结果集

excel= SysExcelApplication::construct();                    //构造Excel实例
    excel.visible(true);                                        //打开Excel程序
    //excel.getOpenFileName(" C://SalesReport,xls");            //打开我的文档对话框
   /* books       = excel.workbooks();                            //实例化一个工作簿
    books.open("C://SalesReport.xls");                          //打开指定的Xls文件

sheet       = excel.activeSheet();                          //激活当前工作表 (最后保存时处于激活的页)

sheet.cells().item(1,1).value("TableName"); pause;  */      //在A1单元格填入值"tablename"
    books = excel.workbooks();                                  //于Excel实例取得工作薄集实例

book = books.add();                                         //于Books取得工作薄实例
    styles      = book.styles();                                // 取得风格实例
    Sheets = excel.worksheets();                                //取得工作表集于Excel实例
    sheet = sheets.itemFromNum(1);                              //  指向特定工作表
    //某行的属性,
    range       = sheet.range(‘F3‘);                           // 指向特定单元格
    rows=sheet.rows();                                          //于sheet实例得到行集合,columns()得到列
    row=rows.item(1);                                           //指定某行?
    row.locked(true);

sheet.cells().item(1,2).value("25");
  
    style       = styles.add("1");
    style.horizontalAlignment(#xlcenter);                        //单元格水平对齐 #xl center right left

interior    = style.interior();                             //取得底色实例
    interior.color(WinApi::RGB2int(246, 250, 206));             //设置底色
    font        = style.font();                                 //取得字体实例
    font.bold(true);                                                   //设置字体为粗体
    font.color(winapi::RGB2int(0,0,255)); // RGB2int(153, 204, 255)    //设置字体的颜色

cells=sheet.cells();
    cell=cells.item(1,1);
    Comment = Cell.addComment();
    Comment.text("ddd");                                         //加注释
    row.autoFit();
    row.style("1");
    row.numberFormat("0.00") ;
    row.locked(true);                                         //锁定范围
    row.formatConditions().delete();                          //删除范围的格式状态,可以多次定以单元格的属性
   
    //某个单元格的属性
    range       = sheet.range(‘A3‘);
    sheet.cells().item(3,1).value("585");
    style       = styles.add("#STYLE_MANDATORY");     //可以用数字代替
    style.horizontalAlignment(#xlleft);                        //单元格水平对齐 #xl center right left

interior    = style.interior();
    interior.color(WinApi::RGB2int(246, 250, 0));
    font        = style.font();
    font.bold(true);
    font.italic(true);
    font.strikethrough(true);
    font.color(winapi::RGB2int(255,0,0)); // RGB2int(153, 204, 255)
    range.style("#STYLE_MANDATORY");
    range.numberFormat("0.0");
   
    range.locked(true);
    range.formatConditions().delete();
    sheet.name("wind88er");                                     //定义当前工作表的名字

/*cn = new CCADOConnection();                               //实例连接数据源
    cn.open("Driver={Microsoft Excel Driver (*.xls)};DBQ=C://SalesReport.xls; ReadOnly=False;");  //打开指定的Excel表

command.activeConnection(cn);                               //激活连接
    command.commandText("Select * From [Sales & Inv Analysis$]"); //打开指定的工作表
    rs = command.execute();                                       //执行命令,得到结果集

For (I=0;I<=13;I++)
        rs.moveNext();

For (I=0;I<=10;I++) {
        Print i, ‘ ‘ , rs.fields().itemIdx(I).value();
//       Print rs.fields().itemIdx(I).name();
//       rs.moveNext();
        If (i == 4)
            rs.fields().itemIdx(I).value() ;

}  */

}

时间: 2024-10-06 08:43:21

关于AX操作Excel的方法的相关文章

C#操作excel(多种方法比较)

我们在做excel资料的时候,通常有以下方法. 一.导入导出excel常用方法: 1.用查询表的方式查询并show在数据集控件上. public static string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source =C:\\08.xls;Extended Properties=Excel 8.0"; public static DataSet ds; protected void Page_Load(obj

Ruby操作Excel的方法与技巧大全

测试工作中,批量的数据通常会放到excel表格中,测试输出的数据写回表格中,这样输入输出易于管理,同时清晰明了 使用ruby来操作excel文件首先需要在脚本里包含以下语句 require'win32ole' 把win32ole包含进来后,就可以通过和windows下的excelapi进行交互来对excel文件进行读写了. 打开excel文件,对其中的sheet进行访问: 1 excel =WIN32OLE::new('excel.Application') 2 workbook =excel.

C#通过NPOI操作Excel

C#操作Excel的方法有很多种,常见的有微软官方的OLE Automation,Apache的POI等.这里介绍的是POI翻译成C#的NPOI. POI是Apache的通过Java操作Office的一个API,可以对Excel,Word,PPT等进行操作,十分的强大.然后就被翻译成C#版本的NPOI了,和log4j与log4net很相似. 好像在NPOI的.net4.0版本之前是不支持office2007及以上的XML格式的,但是最新的版本已经支持了.只需要下载并引用下面五个程序集就能使用了.

C#操作Excel文件(转)

摘要:本文介绍了Excel对象.C#中的受管代码和非受管代码,并介绍了COM组件在.net环境中的使用. 关键词:受管代码:非受管代码:Excel对象:动态连接库 引言 Excel是微软公司办公自动化套件中的一个软件,他主要是用来处理电子表格. Excel以其功能强大,界面友好等受到了许多用户的欢迎.在设计应用系统时,对于不同的用户,他们对于打印的需求是不一样的,如果要使得程序中的打印功 能适用于每一个用户,可以想象程序设计是十分复杂的.由于Excel表格的功能强大,又由于几乎每一台机器都安装了

Apache POI组件操作Excel,制作报表(一)

Apache的POI组件是Java操作Microsoft Office办公套件的强大API,其中对Word,Excel和PowperPoint都有支持,当然使用较多的还是Excel,因为Word和PowerPoint用程序动态操作的应用较少.那么本文就结合POI来介绍一下操作Excel的方法.    Office 2007的文件结构完全不同于2003,所以对于两个版本的Office组件,POI有不同的处理API,分开使用即可.首先来说几个Excel的基本概念.对于一个Excel文件,这称为一个工

OLEDB操作Excel

使用OLEDB操作Excel 的方法 OleDbConnection conn = null;            try            {              //fileName 表示要操纵的Excel的文件路径,如果excel不存在,现创建它,可以通过模版文件复制创建.                string strConn;                strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +     

POI操作Excel导入和导出

Apache的POI组件是Java操作Microsoft Office办公套件的强大API,当中对Word,Excel和PowperPoint都有支持,当然使用较多的还是Excel.由于Word和PowerPoint用程序动态操作的应用较少.那么本文就结合POI来介绍一下操作Excel的方法. 这里介绍两种方法实现excel的操作.代码都有凝视,能够非常清楚的看懂,一种是循环遍历excel表格.这个要自己定位一个excel的起点.第二种是通过java反射机制实现的,依据表头来实现映射. 详细代码

VC操作excel

http://www.cnblogs.com/witxjp/archive/2010/06/05/1752181.html 最近在做个数据库程序,因为有些数据用户要求导出到Excel文件显示(需要报给其他单位).所以查阅了一下相关的VC的Excel编程操作,总结一下吧:(所有资料来源于网络) 利用VC操作Excel的方法至少有两种 1 .利用ODBC把Excel文件当成数据库文件,来进行读.写.修改等操作,网上有人编写了CSpreadSheet类,提供支持. 2. 利用Automation(OL

如何使用SAP Intelligent Robotic Process Automation自动操作Excel

今天是鼠年正月十二.这是Jerry鼠年的第11篇文章,也是汪子熙公众号总共第210篇原创文章. 之前Jerry的文章 使用ABAP操作Excel的几种方法,介绍的是通过ABAP这门编程语言去操作Excel的方法. 除了编程语言之外,SAP新发布的SAP Intelligent Robotic Process Automation(简称SAP iRPA),提供了强大的企业级自动化流程解决方案,善加利用,可以在不需要编程的情况下,像使用编程语言一样灵活地操作Excel. 我们来看个具体而又简单的例子