基于excel9.h的excel处理
基于excel9.h的excel处理;
#include "excel9.h"
#include <iostream>
using namespace std;
class excel_lwn
{
public:
excel_lwn()
{
CoInitialize(NULL);
if(!app.CreateDispatch(_T("Excel.Application"),NULL)) { /*"启动Excel服务器失败!" */ }
f_result = NULL;
flag=-;
}
~excel_lwn()
{
book.SetSaved(TRUE);
books.Close();
app.Quit();
} void OpenTable(CString excelName, int table=)
{
books=app.GetWorkbooks();
COleVariant covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
lpDisp = books.Open(excelName,
covOptional, covOptional, covOptional, covOptional,
covOptional, covOptional, covOptional, covOptional,
covOptional, covOptional, covOptional, covOptional);
book.AttachDispatch( lpDisp );
sheets=book.GetSheets();
sheet=sheets.GetItem(COleVariant((short)table));
}
void GetValue(int i=,int lie=)
{
char c_lie[];
c_lie[] =+ lie;
c_lie[]= '\0';
cs_lie=c_lie; char c_hang[];
itoa(i,c_hang, );
cs_hang=c_hang; Range range=sheet.GetRange(COleVariant(cs_lie+cs_hang),COleVariant(cs_lie+cs_hang));
COleVariant rValue= range.GetValue();
isSuccess = rValue.vt;
if (rValue.vt ==VT_BSTR )
{
//MessageBox(NULL,CString(rValue.bstrVal),TEXT("你好"),MB_ICONINFORMATION|MB_YESNO);
cs_result = rValue.bstrVal;
flag=;
}
if (rValue.vt ==VT_R8 )
{
//cout<<rValue.dblVal<<endl;
f_result = rValue.dblVal;
i_result = f_result;
char temp[];
itoa(f_result,temp,);
cs_result = temp;
flag = ;
}
}
private:
_Application app;
Workbooks books;
_Workbook book;
Worksheets sheets;
_Worksheet sheet;
LPDISPATCH lpDisp;
CString cs_lie;
CString cs_hang;
public:
CString cs_result;
double f_result;
int i_result;
int flag;// 0表示是数字,1表示是字符串
bool isSuccess;
}; int main(int argc, char *argv[])
{
//OnButton2();
excel_lwn my;
my.OpenTable("C:\\d.xlsx",);
my.GetValue(,);
cout<<my.i_result<<endl;
my.GetValue(,);
cout<<my.f_result<<endl;
return true;
}
相关文件:http://pan.baidu.com/s/1hqfBn72
c#中关于excel的处理: http://www.codeproject.com/Tips/813187/Csharp-Read-and-write-Excel-xls-and-xlsx-files-con
基于excel9.h的excel处理的更多相关文章
- 在Windows下使用Dev-C++开发基于pthread.h的多线程程序【转】
在Windows下使用Dev-C++开发基于pthread.h的多线程程序[转] 在Windows下使用Dev-C++开发基于pthread.h的多线程程序 文章分类:C++编程 ...
- Windows下使用Dev-C++开发基于pthread.h的多线程程序
一.下载Windows版本的pthread 目前最新版本是:pthreads-w32-2-9-1-release.zip. 二.解压pthread到指定目录 我选择的目录是:E:\DEV-C ...
- C#基于Office组件操作Excel
1. 内容简介 实现C#与Excel文件的交互操作,实现以下功能: a) DataTable 导出到 Excel文件 b) Model数据实体导出到 Excel文件[List&l ...
- 在Linux 应用层 基于i2c-dev.h 实现i2c读写
/* i2c-dev.h - i2c-bus driver, char device interface Copyright (C) 1995-97 Simon G. Vogl Copyright ( ...
- 基于phpExcel写的excel类
<?php /* * 类的功能 * 传入二位数组导出excel * 传入excel 导出二位数组 * @author mrwu */ require('PHPExcel.php'); requi ...
- 一个基于POI的通用excel导入导出工具类的简单实现及使用方法
前言: 最近PM来了一个需求,简单来说就是在录入数据时一条一条插入到系统显得非常麻烦,让我实现一个直接通过excel导入的方法一次性录入所有数据.网上关于excel导入导出的例子很多,但大多相互借鉴. ...
- 基于asp.net的excel导入导出
新建aspx文件.代码大概如下: <!--导入Excel文件--> <table width="99%" border="0" align=& ...
- 基于phpExcel写的excel类(导出为Excel)
<?php /* * 类的功能 * 传入二位数组导出excel * 传入excel 导出二位数组 * @author mrwu */ require('PHPExcel.php'); requi ...
- 基于注解的读取excel的工具包
easyexcel-wraper easyexcel-wraper是什么? 一个方便读取excel内容,且可以使用注解进行内容验证的包装工具 easyexcel-wraper有哪些功能? 在easye ...
随机推荐
- 插头DP题目泛做(为了对应WYD的课件)
题目1:BZOJ 1814 URAL 1519 Formula 1 题目大意:给定一个N*M的棋盘,上面有障碍格子.求一个经过所有非障碍格子形成的回路的数量. 插头DP入门题.记录连通分量. #inc ...
- poj1111 DFS
J - 搜索 Crawling in process... Crawling failed Time Limit:1000MS Memory Limit:10000KB 64bit I ...
- (原)lua提示cannot load incompatible bytecode
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5754872.html 前段时间用终端和zerobrane运行torch的lua程序.zerobrane ...
- werkzeug源码阅读笔记(二) 上
因为第一部分是关于初始化的部分的,我就没有发布出来~ wsgi.py----第一部分 在分析这个模块之前, 需要了解一下WSGI, 大致了解了之后再继续~ get_current_url()函数 很明 ...
- 【Python学习】由于windows环境问题导致的不能安装某些需要VC编译的插件
由于windows环境问题导致的不能安装某些需要VC编译的插件 下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/ 安装方法: 在CMD中输入 pip in ...
- 再谈php乱码问题
在开博不久,写了一篇关于解决php乱码问题文章,php 解决乱码的通用方法,绝大部分乱码,这篇博文都可以解决,但是也有例外. 如果有人传参数给你,你根本不知道,传给你的参数到底是什么编码,这个时候该怎 ...
- C语言运算符的注意问题
//对于自增和自减运算符的运算规律值得研究,小心被坑.1 #include<stdio.h> int main(void){ ,j=,p,q; p=(i++)+(i++)+(i++); q ...
- Java Spring MVC
Spring MVC的实现包括 实现Controller类和基于注解的Controller RequstMapping方式 依赖: <!-- https://mvnrepository.com/ ...
- IOS开发UI篇-NavigationController的控制器之间的跳转
一.效果图如下 1> 第一个控制器的NavigationBar隐藏 2> 有按钮,可以跳转到下一个控制器,返回上一个控制器或者根控制器 二.思路代码 思路: 1> 设置window的 ...
- LINUX SSH客户端的中文乱码问题
原因在于文件/etc/sysconfig/i18n 这个文件是系统的区域语言设置, i18n是 国际化internationalization的缩写 i和n之间正好18个字母 解释: LANG= ...