如何在linux平台linux实现文件增量拷贝对excel文件的操作

新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
白手起家, 积分 144, 距离下一级还需 56 积分
论坛徽章:0
一般在linux下做数据处理,最后会得到一些包含很多数据的文件,如
这样有一定规律的类似表格的数据
要如何才能将文件转换成office的doc或者excel的格式,而上面的数据可以以表格的形式出现在doc或者excel的文件中?
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
白手起家, 积分 144, 距离下一级还需 56 积分
论坛徽章:0
有没有关于这方面的文章啊?有人能介绍几篇吗
稍有积蓄, 积分 416, 距离下一级还需 84 积分
论坛徽章:0
呃...要在 shell 下要做... 好像刻求太多了...&&= =|||
你可以参考 php 的做法
小富即安, 积分 2274, 距离下一级还需 2726 积分
论坛徽章:0
直接就可以生成excl的文件
echo &7 8 9& && test.xls复制代码
丰衣足食, 积分 558, 距离下一级还需 442 积分
论坛徽章:0
直接保存成txt格式的文件,然后在excel导入即可
稍有积蓄, 积分 344, 距离下一级还需 156 积分
论坛徽章:0
echo &7,8,9&&&csv
白手起家, 积分 144, 距离下一级还需 56 积分
论坛徽章:0
楼上的csv是什么意思啊?
我想做到的并不是只是格式转换,最好是能够把数据生成表格(word的那种)
导入word形成表格也可以吗?
家境小康, 积分 1042, 距离下一级还需 958 积分
论坛徽章:0
你转成CSV就可以转成XSL,直接贴到WORD不就完了
如果数据量大的话,你可以写个WORD格式的XML文件,保存成.doc就可以了。具体XML的格式楼主可以自己上网查下1525人阅读
C/C++linux
做个项目需要读取xls文件,通过搜索,找到三个库,BasicExcel、libxl、libxls。
因为BasicExcel不支持中文,而且06年就没更新了,果断放弃。libxl感觉是这三个库中最好的,能读能写,对格式支持也最好,但是考虑到项目只需要读取,而且这是商业软件,授权也不便宜,也放弃了。
首先下载libxls,项目地址:http://sourceforge.net/projects/libxls/
解压后使用:
123./configure --prefix=/usrmakesudo make install安装,请注意,在configure前,一定要安装libiconv-dev,否则中文显示可能不正常。
Fedora下:
yuminstalllibiconv-devel
mingw-getinstalllibiconv
安装后,编写测试代码:#include &stdio.h&
#include &xls.h&
// 要打开的文件名
const char fileName[] = &data/1.xls&;
// 所有通过libxls库获取的字符串的编码
const char charSet[] = &UTF-8&;
void testLibxls()
xlsWorkBook *pWB = NULL;
xlsWorkSheet *pWS = NULL;
xlsCell * cell = NULL;
int sheetI
// 打开文件
pWB = xls_open(fileName, charSet);
if (!pWB) {
fprintf(stderr, &Open File Error!\n&);
// 解析xls文件,这个不要忘了
xls_parseWorkBook(pWB);
fprintf(stderr, &Sheet count:%d\n&, pWB-&sheets.count);
// 读取每个工作表
for (sheetIndex = 0; sheetIndex & pWB-&sheets. ++sheetIndex) {
// 获取工作表
pWS = xls_getWorkSheet(pWB, sheetIndex);
// 解析工作表
xls_parseWorkSheet(pWS);
fprintf(stderr, &Sheet %d name: %s\n&, sheetIndex, (char *)pWB-&sheets.sheet[sheetIndex].name);
fprintf(stderr, &Sheet Data:\n&);
for (row = 0; row & pWS-&rows. ++row) {
// 该行第几列
for (col = 0; col & pWS-&rows. ++col) {
// 获取单元格,这里也可以通过xls_row获取到这行的数据,然后,使用row-&cells来获取单元格
cell = xls_cell(pWS, row, col);
// 判断单元格及内容是否为空
if (cell && cell-&str) {
fprintf(stderr, &%s&, (char *)cell-&str);
fprintf(stderr, &,&);
fprintf(stderr, &\n&);
fprintf(stderr, &\n&);
// 关闭工作表
xls_close_WS(pWS);
// 关闭工作簿
xls_close_WB(pWB);
int main()
fprintf(stderr, &testLibxls\n&);
testLibxls();
getchar();
gcc-omainmain.cpp-lxlsreader
&libxls函数说明:
// 获取libxls版本号
externconstchar*xls_getVersion(void);
// 设置libxls调试信息,debug&0会显示libxls的调试信息
externintxls(intdebug);// Set debug. Force library to load?
// 这个没有研究,不知道干嘛的,感觉像是自定义解析excel的公式
externvoidxls_set_formula_hander(xls_formula_handlerhandler);
// 解析工作簿
externvoidxls_parseWorkBook(xlsWorkBook*pWB);
// 解析工作表
externvoidxls_parseWorkSheet(xlsWorkSheet*pWS);
// 打开工作簿,charset默认UTF-8
externxlsWorkBook*xls_open(constchar*file,constchar*charset);
// 关闭工作簿
#define xls_close xls_close_WB
// historical
externvoidxls_close_WB(xlsWorkBook*pWB);
// preferred name
// 获取工作表
externxlsWorkSheet*xls_getWorkSheet(xlsWorkBook*pWB,intnum);
// 关闭工作表
externvoidxls_close_WS(xlsWorkSheet*pWS);
// 获取工作簿信息,作者啊之类的
externxlsSummaryInfo*xls_summaryInfo(xlsWorkBook*pWB);
// 关闭工作簿信息
externvoidxls_close_summaryInfo(xlsSummaryInfo*pSI);
// 获取工作表某行
xlsRow*xls_row(xlsWorkSheet*pWS,WORDcellRow);
// 获取某个单元格,从参数可以看出,libxls最大支持65536行、65536列的工作表
xlsCell*xls_cell(xlsWorkSheet*pWS,WORDcellRow,WORDcellCol);
合并单元格
通过查看libxls的代码可以发现,libxls对于合并单元格的信息保存在xlsCell中,其中str是内容,colspan&0表示横向合并多少个单元格,rowspan表示纵向合并多少个单元格,被合并的单元格isHidden都是1。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:16737次
排名:千里之外
原创:12篇
转载:16篇
(1)(2)(4)(2)(3)(1)(1)(6)(1)(2)(2)(1)(2)电子表格之Linux基本的应用程序_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
电子表格之Linux基本的应用程序
你可能喜欢&>&&>&开发技术&>&C++&>&纯C++方式生成复杂格式的excel文件(linux下可运行)
纯C++方式生成复杂格式的excel文件(linux下可运行)
上传大小:11KB
使用VC/C++生成excel的方式有很多,但是绝大部分要么是简单的csv文件,要么需要COM并已经安装ms excel,局限性比较大。
我这里提供一种使用C++编写以html脚本的方式生成xls文件的方法。不使用任何非C++标准库,支持字体大小、颜色,单元格合并、背景色、边框等设置。
generate_excel.vcproj为在vs2005下的工程文件,如果需要在vc6或Linux等其他编译环境下使用只需新建工程将.h文件和.cpp文件导入即可编译。
generate_excel
|------include
| |----gen_excel_file.h
| |----input_data.h
|------cpp
| |----gen_excel_file.cpp //excel文件操作类
| |----input_data.cpp //生成虚拟数据
| |----main.cpp //调用gen_excel_file类
|------iofiles
| |----head.txt //格式定义文件
|------generate_excel.vcproj //vc2005工程文件
|------表格.xls //输出文件...展开收缩
综合评分:4.1(50位用户评分)
所需积分:
下载个数:138
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var q = $("#form1").serializeArray();
console.log(q);
var res_area_r = $.trim($(".res_area_r").val());
if (res_area_r == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
var mess = $(".res_area_r").val();
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, _username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click",'.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
$(".res_area_r").val($.trim($(".res_area").val()));
评论共有27条
挺好的资源,能解决问题
我没用到,当学习用了
很好。不过我没用到
实习的时候老师给的小课题,虽然忘记是取的哪一段代码了,不过还是帮我们group完成任务了~
挺好的思路。其实是生成了html格式的文件
确实很有用,代码运行没问题!!
很好的,谢谢楼主
很强大,正需要这样一个强大的excel,sheet就是没办法添加多个。
现在主要想找怎么读的,感觉读比写复杂好多
挺好的思路。其实是生成了html格式的文件,然后换了后缀。不过这个方法的缺点是不能像使用OLE那样调用ms excel本身的一些功能,比如生成图表,调用函数等
审核通过送C币
opencv3基础入门
创建者:xyz59886
C++经典书籍
创建者:revofu
Linux C/C++编程
上传者其他资源上传者专辑
ABS_Guide_cn_linux_shell详解 .pdf
跟我一起写+Makefile.pdf
Android 反编译工具
Android+SDK+2.3与Eclipse最新版开发环境搭建
《DirectShow开发指南》源码
开发技术热门标签
VIP会员动态
前端开发重难点
17年软考最新真题及解析
物联网全栈开发专题
二十大技术领域优质资源
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
CSDN&VIP年卡&4000万程序员的必选
纯C++方式生成复杂格式的excel文件(linux下可运行)
会员到期时间:剩余下载个数:
请勿使用迅雷下载
积分不足!
资源所需积分
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分
当前拥有积分
VIP年卡全年1200个资源免积分下载
请勿使用迅雷下载
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可奖励20下载分
被举报人:
listenli1213
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:本帖子已过去太久远了,不再提供回复功能。}

我要回帖

更多关于 linux实现文件增量拷贝 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信