//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop #include "ProcessBar.h"
#include <stdio.h> // For FILE, fopen, fstat, fileno, fread and fclose
#include <sys\stat.h> // For fstat and the stat struct
#include <Math.hpp> // For Min
#include <memory> //For STL auto_ptr class //---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm4 *Form4;
//---------------------------------------------------------------------------
__fastcall TForm4::TForm4(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm4::btn1Click(TObject *Sender)
{
FILE *F;
char MyData[];
long BytesRead; F = fopen("../oui.txt", "r"); // Path relative to Debug
// Use a file larger than 2048 bytes to make it interesting.
if (F)
{
struct stat statbuf;
fstat(fileno(F), &statbuf);
pb1->Max = statbuf.st_size;
if (pb1->Max > )
{
pb1->Step = (pb1->Max)/;
pb1->Step = Min(pb1->Step, );
}
else
pb1->Step = pb1->Max;
std::auto_ptr<char> DataBuffer(new char[pb1->Step]);
for (pb1->Position = ;
pb1->Position < pb1->Max;
pb1->StepIt()) // Move the ProgressBar Position using StepIt.
{
fread(DataBuffer.get(), pb1->Step, , F);
// Do this or else the read wraps and starts over.
pb1->Step =
Min(pb1->Step, pb1->Max - pb1->Position);
} mmo1->Lines->Add(DataBuffer.get()); fclose(F);
DataBuffer.release();
}
}
//---------------------------------------------------------------------------
void __fastcall TForm4::btn2Click(TObject *Sender)
{ Variant vExcelApp, vWorkbook, vRange, Sheet1;
vExcelApp = Variant::CreateObject("Excel.Application");
vExcelApp.OlePropertySet("Visible", false);
vExcelApp.OlePropertyGet("WorkBooks").OleProcedure("Open",
dlgOpen1->FileName.c_str());
vWorkbook = vExcelApp.OlePropertyGet("ActiveWorkbook"); int BookCount = vWorkbook.OlePropertyGet("Sheets").OlePropertyGet
("Count");
for (int i = ; i < BookCount; i++)
{
AnsiString SheetName = vWorkbook.OlePropertyGet("Sheets", i + )
.OlePropertyGet("Name");
// ShowMessage(SheetName); } // Sheet1 = vWorkbook.OlePropertyGet( "ActiveSheet ");
// vExcelApp.Exec(PropertyGet( "Cells ") < <1 < <3).Exec(PropertySet( "Value ") < <15); //赋值
// Sheet1.OlePropertyGet( "Rows ", 1).OlePropertyGet( "Insert "); //插入
String kkl, hgf;
int it = , st = ; while (it > && BookCount >= st)
{
vWorkbook.OlePropertyGet("Sheets", st).OleProcedure("Select");
// 选择sheet
for (it = ; it <= ; it++)
{
kkl = vExcelApp.Exec(PropertyGet("Cells") << << it);
//if (kkl.Pos(qz1) > 0 || kkl.Pos(qz2) > 0) // 读取
break;
}
st++;
} int kk = ;
for (kk = ; kk <= ; kk++)
{
kkl = vExcelApp.Exec(PropertyGet("Cells") << kk << it);
//if (kkl.Pos(qz1) > 0 || kkl.Pos(qz2) > 0) // 读取
break;
} hgf = vExcelApp.Exec(PropertyGet("Cells") << kk << it + );
int ki = ;
while (hgf.Trim() != "")
{
if (ki == StringGrid2->RowCount - )
//StringGrid1->RowCount++;
// kkl==vExcelApp.Exec(PropertyGet( "Cells ") < <kk < <it); StringGrid2->Cells[][ki] = vExcelApp.Exec
(PropertyGet("Cells") << kk << it); // 2-4列的数据
StringGrid2->Cells[][ki] = vExcelApp.Exec
(PropertyGet("Cells") << kk << it + );
StringGrid2->Cells[][ki] = vExcelApp.Exec
(PropertyGet("Cells") << kk << it + );
kk++;
ki++;
hgf = vExcelApp.Exec(PropertyGet("Cells") << kk << it + );
} vExcelApp.OlePropertyGet("ActiveSheet").OlePropertyGet("Cells ", , )
.OleProcedure("Select");
vRange = vExcelApp.OlePropertyGet("Selection");
vRange.Exec(Function("Sort") << vExcelApp.OlePropertyGet("Selection")
<< ); // vWorkbook.OleProcedure( "Save");
vWorkbook.OleProcedure("Close");
vExcelApp.OleFunction("Quit");
vWorkbook = Unassigned;
vExcelApp = Unassigned;
}
// ---------------------------------------------------------------------------

C++ builder 2010 操作Excel表格的编程实现的更多相关文章

  1. VS2010 C++ 操作Excel表格的编程实现

    转载请注明原文网址: http://www.cnblogs.com/xianyunhe/archive/2011/09/25/2190485.html 通过VC实现对Excel表格的操作的方法有多种, ...

  2. qt 操作excel表格

     自己编写的一个Qt C++类,用于操作excel表格,在Qt中操作excel需在.pro中增加CONFIG+=qaxcontainer配置. 1.打开Excel:objExcel = new QAx ...

  3. Python 利用Python操作excel表格之openyxl介绍Part2

    利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436) ## 绘图 c = LineChart()    ...

  4. Python 利用Python操作excel表格之openyxl介绍Part1

    利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436),免费获取以下性能监控工具(类似Nmon精简版) ...

  5. 【转】python操作excel表格(xlrd/xlwt)

    [转]python操作excel表格(xlrd/xlwt) 最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异, ...

  6. Python 利用Python操作excel表格之xlwt介绍

    利用Python操作excel表格之xlwt介绍   by:授客 QQ:1033553122 直接上代码   案例1 #!/usr/bin/env python # -*- coding:utf-8 ...

  7. 用NPOI、C#操作Excel表格生成班级成绩单

    在C#中利用NPOI操作Excel表格非常方便,几乎上支持所有的Excel表格本身所有的功能,如字体设置.颜色设置.单元格合并.数值计算.页眉页脚等等. 这里准备使用NPOI生成一个班级成绩单Exce ...

  8. python - 操作excel表格

    说明:由于公司oa暂缺,人事妹子在做考勤的时候,需要通过几个excel表格去交叉比对员工是否有旷工或迟到,工作量大而且容易出错. 这时候it屌丝的机会来啦,花了一天时间给妹子撸了一个自动化脚本. 1. ...

  9. 转载:python操作excel表格(xlrd/xlwt)

    python操作excel表格(xlrd/xlwt)   最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而 ...

随机推荐

  1. python深入走路

    Python描述符(descriptor)解密 http://www.geekfan.net/7862/

  2. 触发隐藏链接进行文件下载,click无响应

    function invokeClick(element) { if (element.click) element.click(); //判断是否支持click() 事件 else if (elem ...

  3. Spring Bean 生命周期2

    在spring中,从BeanFactory或ApplicationContext取得的实例为Singleton,也就是预设为每一个Bean的别名只能维持一个实例,而不是每次都产生一个新的对象使用Sin ...

  4. Spring中依赖注入的使用和配置

    使用方法1: //在执行此实例化的时候就会完成所有注入 ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext( ...

  5. Java多线程之阻塞I/O如何中断

    阻塞的I/O线程在关闭线程时并不会被打断,需要关闭资源才能打断. 1.执行socketInput.close();阻塞可中断.2.执行System.in.close();阻塞没有中断. package ...

  6. Android学习笔记02

    1.线性布局LinearLayout <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&q ...

  7. ios8消息快捷处理——暂无输入框

    if (isiOS8) { //ios8的远程推送注册 NSSet *set = nil; #if 1 //1.创建消息上面要添加的动作(按钮的形式显示出来) UIMutableUserNotific ...

  8. 关于lib,dll,.a,.so,静态库和动态库的解释说明

    [转]关于lib,dll,.a,.so,静态库和动态库的解释说明 目录 1 什么叫程序库 2 什么是lib,什么是dll,什么是.a,什么是so,什么是静态库,什么是动态库 3 补充说明 4 作者 什 ...

  9. Dephi的同一个线程支持累次Execute吗

    Suspend放到循环里------解决方案--------------------执行完不结束只休眠.另外还需要线程池.------解决方案--------------------    while ...

  10. (medium)LeetCode 221.Maximal Square

    Given a 2D binary matrix filled with 0's and 1's, find the largest square containing all 1's and ret ...