DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: melqui
今日帖子: 0
在线用户: 7
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 vmao (毛小毛) ★☆☆☆☆ -
盒子活跃会员
2016/6/15 15:35:17
标题:
NativeExcel公式错误如何取值? 浏览:5439
加入我的收藏
楼主: NativeExcel 格子里面带公式,当公式错误是在Excel中显示#N/A,但是ws.Range['H10','H10'].Value取到的却不是#N/A,如何判断公式计算错误了直接跳过该行?
----------------------------------------------
-
作者:
男 nevergrief (孤独骑士) ★☆☆☆☆ -
盒子活跃会员
2016/6/15 16:53:14
1楼: NativeExcel对公式支持不好,但是对多语言支持好。
XLSReadWriteII对公式支持好,但是对多语言支持不好。

没办法,我就在一套软件里奇葩的同时用了这两套控件。
----------------------------------------------
只有偏执狂才能生存!
作者:
男 crystalmoon (crystalmoon) ★☆☆☆☆ -
盒子活跃会员
2016/6/15 20:37:17
2楼: XLSReadWriteII 对多语言有什么问题,能说说不?
我到目前为止还没遇到过中文方面有什么问题
----------------------------------------------
-
作者:
男 daisutao ((芒果)) ★☆☆☆☆ -
盒子活跃会员
2016/6/16 9:10:45
3楼: XLSReadWriteII远远不如NativeExcel好用。编译出来的东西还大。Bug多。
----------------------------------------------
-
作者:
男 vmao (毛小毛) ★☆☆☆☆ -
盒子活跃会员
2016/6/16 9:21:13
4楼: 可以了,重新调整了一下Excel公式的写法就可以了,原来的写法excel能执行但nativeexcel执行不了。nativeexcel确实比XLSReadWriteII小很多,用起来相对方便。不过好像对图像什么的支持不好,对象操作麻烦,纯字符,数值比较好存取。
----------------------------------------------
-
作者:
男 yzdbs (学无止境) ★☆☆☆☆ -
盒子活跃会员
2016/6/16 10:11:44
5楼: nativeexcel 还便宜
----------------------------------------------
┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻
┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳
┻┳┻┳┻┳learning stream media.┳┻┳┻┳┻
┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳
┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻
┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳┻┳
作者:
男 nevergrief (孤独骑士) ★☆☆☆☆ -
盒子活跃会员
2016/6/16 15:13:10
6楼: to crystalmoon
XLSReadWriteII 写单一语言是没问题,但是双语一起写(中文和其它小语种),就会出问题。我用的是2010版,照理应该是没有问题的,可见的XLSReadWriteII对Unicode支持不好。
----------------------------------------------
只有偏执狂才能生存!
作者:
男 crystalmoon (crystalmoon) ★☆☆☆☆ -
盒子活跃会员
2016/6/16 15:36:44
7楼: 噢。好的,谢谢,我以后遇到就心里有数了。
----------------------------------------------
-
作者:
男 kylix2008 (kylix2008) ★☆☆☆☆ -
普通会员
2016/6/20 23:04:57
8楼: XLSReadWriteII、NativeExcel都没有显示Excel表格内容的控件,我想要轻量级的控件,在程序中显示申报表之类的Excel文件内容,内容为纯字符、数值的表格,不用支持图形,反应要快,开源的更好。
有木有?
----------------------------------------------
-
作者:
男 crystalmoon (crystalmoon) ★☆☆☆☆ -
盒子活跃会员
2016/6/21 14:04:35
9楼: @kylix2008 XlsSpreedSheet控件,XLSReadWriteII同一作者开发的,很小巧。
----------------------------------------------
-
作者:
男 kylix2008 (kylix2008) ★☆☆☆☆ -
普通会员
2016/6/22 20:33:42
10楼: 谢谢9楼。
----------------------------------------------
-
作者:
男 kylix2008 (kylix2008) ★☆☆☆☆ -
普通会员
2016/6/22 22:41:47
11楼: 测试发现, XlsSpreedSheet控件显示中文表格,会对表格内的文字自动纵向显示(一个字符占一行),文字类(不全是数字字符)可通过设置单元格Alignment属性改为横向显示,纯数字字符则改不过来,如555.67显示为
5
5
5
.
6
7

即显示格式很难调。

 XlsSpreedSheet控件版本为v.2.00.06,采用XE3编译,操作系统为windows 7。

附编译官方例子XLSSpreadSheet,及打开样表文件“《增值税纳税申报表(一般纳税人适用)》及其附列资料.xls”。
此帖子包含附件:kylix2008_2016622224144.rar 大小:1.87M
----------------------------------------------
-
作者:
男 kylix2008 (kylix2008) ★☆☆☆☆ -
普通会员
2016/6/22 23:27:12
12楼: 是不是6楼所说的XLSReadWriteII对Unicode支持不好的原因?
----------------------------------------------
-
作者:
男 crystalmoon (crystalmoon) ★☆☆☆☆ -
盒子活跃会员
2016/6/23 21:03:48
13楼: @kylix2008,测试你的xls确实有问题,我觉得应该和样本有关系,你可以提交给官方,但不是所有中文表格都会有这个问题,比如我这个下面附图中的文件就没问题。

另外,你的xls在DevExpress中显示正常,可以暂时用dev的spreedsheet显示,唯一的问题就是太重量了,启动也慢。
此帖子包含附件:
PNG 图像
大小:73.5K
----------------------------------------------
-
作者:
男 kylix2008 (kylix2008) ★☆☆☆☆ -
普通会员
2016/6/23 22:41:20
14楼: 可能是样本的问题。不过该样本用Excel和WPS打开都没问题,应该还是XLSSpreadSheet对Excel文件兼容度不够的缘故(显示不带合并单元格的文件,试了几个,似乎都没问题)。

官方示例XLSSpreadSheetAdvanced.exe可打开带工作表保护和工作薄保护的excel文件(只读单元格),并且能正常读写,但是显示格式依然不对。
我自己用excel 2003制作的excel中文表格(附件Book1.xls),XLSSpreadSheetAdvanced打开,部分单元格正确显示,部分问题同11楼所述。

我改用TMS FlexCel的XlsViewer.exe官方示例打开,显示要好得多(还是有瑕疵,主要是单元格大小计算与excel不同,造成文字显示不该换行的换行了,估计是对中文字体的大小计算原因),带显示比例缩放功能,但是不能打开带工作表保护和工作薄保护的excel文件。

没测试过Devexpress的ExpressSpreadSheet(非我想要的轻量级控件),不知是否兼容性更好。
此帖子包含附件:kylix2008_2016623224114.rar 大小:2.84M
----------------------------------------------
-
作者:
男 crystalmoon (crystalmoon) ★☆☆☆☆ -
盒子活跃会员
2016/6/24 11:56:18
15楼: @kylix2008 Devexpress的ExpressSpreadSheet 兼容性相对更好,唯一的问题就是个头大,启动慢。
----------------------------------------------
-
作者:
男 kylix2008 (kylix2008) ★☆☆☆☆ -
普通会员
2016/6/26 9:20:05
16楼: 我想要轻量级的显示Excel表格内容的控件(显示申报表之类的Excel文件内容,内容为纯字符、数值的表格,不用支持图形、公式),发现一个,还未消化,不知在delphi上用起来效果如何?

handsontable是一个功能强大的在线表格插件,实现了在 HTML 页面中仿 Excel 编辑效果的表格编辑功能,在 Excel 中可进行的操作,你大都可以在网页中做到,如拖动复制、Ctrl+C 、Ctrl+V 等等。另外在浏览器支持方面,它支持以下的浏览器 IE7+, FF, Chrome, Safari, Opera。用于web表现非常不错,尤其是内部系统的表格处理更是锦上添花。

网址:http://handsontable.com/

示例:https://handsontable.com/examples.html?headers&merge-cells

handsontable中文资料:http://blog.csdn.net/mafan121/article/category/3273599
----------------------------------------------
-
作者:
男 hezi4delphi (iDelphi) ▲▲▲▲△ -
普通会员
2018/5/4 15:28:58
17楼: @kylix2008  
你发的TMS FlexCel的XlsViewer.exe官方示例,这个exe文件我在tms官网找了半天找不到,是你自己编译的吗?如果有这个demo的源码,能共享一下吗,或者把tms官网地址发一下我去下载也可以,谢谢了
----------------------------------------------
-
作者:
男 kylix2008 (kylix2008) ★☆☆☆☆ -
普通会员
2018/5/6 22:11:23
18楼: @17楼:
FlexCel\Demo\Delphi\Modules\25.Printing and Exporting\10.XlsViewer

TMS.FlexCelVCL.6.0.2.0安装后,有上面这个目录。
----------------------------------------------
-
作者:
男 kylix2008 (kylix2008) ★☆☆☆☆ -
普通会员
2018/5/6 22:22:49
19楼: 金山WPS保存的Excel 2003格式的文件(*.XLS),NativeExcel能正常读写。

NativeExcel打开WPS保存的EXCEL 2007格式文件可能会出错:raised exception class Exception with message 'Decompression error: ',但用MS EXCEL却能正常打开。

myIXLSWorkbook.OPEN(ExcelFileName)这一句出错。

经追踪,打开文件在...\NativeExcel 3.0.27\Source\zlib_zlibstream.pas 中的function TZLibStream.Read的ret := FZ_stream.Inflate(FFlush);返回'Decompression error: '错误值。

有没高手能解决一下。
----------------------------------------------
-
作者:
男 vmao (毛小毛) ★☆☆☆☆ -
盒子活跃会员
2018/5/6 22:52:48
20楼: 楼上的,我也发现这个问题了。WPS保存后的xls,NativeExcel读取不了。
----------------------------------------------
-
作者:
男 hezi4delphi (iDelphi) ▲▲▲▲△ -
普通会员
2018/5/7 18:52:17
21楼: @kylix2008 
怪不得找到不到的,这个XlsViewer例子只有你说的那个版本里面才有,高版本已经没有这个demo了 

XlsViewer例子用TFlexCelGrid来显示excel,内容基本完整。但是在6.3以后的版本,已经取消了TFlexCelGrid这个组件

FlexCel感觉资料好少,6.3以后的版本连显示excel文件的demo也没有,自带的帮助文档和在线文档都不全。对于新手还是用dev上手快一些,但是dev体积实在太大了,启动也慢
----------------------------------------------
-
作者:
男 c5soft (大道至简) ▲▲▲▲▲ -
普通会员
2018/5/7 22:03:38
22楼: 亲,改用XlsGen吧,速度与NativeExcel一样快,功能比NativeExcel强大得多。
现如今,不支持2007+的XLSX格式,好意思说你的程序支持Excel读写吗?

NativeExcel改XlsGen,鄙人走过的路,畅通无阻。其他Excel控件不推荐,要么是速度慢,要么是功能单一,要么是难学难用。
----------------------------------------------
-
作者:
男 sxqwhxq (步惊云) ★☆☆☆☆ -
普通会员
2018/5/7 22:39:08
23楼: 哪有xlsgen?
----------------------------------------------
-
作者:
男 sarsfree (非典型Delphi) ★☆☆☆☆ -
普通会员
2018/5/7 23:32:04
24楼:  @c5soft
 同求  Xlsgen ,非常感谢
----------------------------------------------
Delphi forever
作者:
男 xjia (xjia) ★☆☆☆☆ -
盒子活跃会员
2018/5/7 23:59:09
24楼: 哪个XLS控件能读取单元格中文字的不同字体吗?
----------------------------------------------
-
作者:
男 c5soft (大道至简) ▲▲▲▲▲ -
普通会员
2018/5/8 6:55:20
25楼: xlsGen破解版:
https://wedelphi.com/t/419826/
----------------------------------------------
-
作者:
男 kylix2008 (kylix2008) ★☆☆☆☆ -
普通会员
2018/5/8 21:54:29
26楼: @25楼:  wedelphi.com注册不成功,下不了。

发现一个地方:

Bergsoft Next Suite 6 (VCL) v6.1.0 April 2018 for D7-XE10.2 Full Source
https://www.irdevelopers.com/post/18062/Bergsoft-Next-Suite.html

XLSGen v4.5.0.2 + Crack
https://www.irdevelopers.com/post/18577/XLSGen-crack.html

哪位能下?
----------------------------------------------
-
作者:
男 kylix2008 (kylix2008) ★☆☆☆☆ -
普通会员
2018/5/8 22:51:55
27楼: XLSGen实际是个ActiveX控件吧。不能像NativeExcel一样无缝嵌入程序中。
----------------------------------------------
-
作者:
男 c5soft (大道至简) ▲▲▲▲▲ -
普通会员
2018/5/9 10:23:42
28楼: XlsGen支持ComFree模式,就是无需ActiveX注册,直接加载:

type
  TFunc = function(): Pointer; stdcall;
function PrepareXlsGenEngine(const AComFree: Boolean = True): IXlsEngine;
var FHandle: THandle; FStart: TFunc;
begin
  if AComFree then begin
    FHandle := LoadLibrary('XlsGen.dll');
    @FStart := GetProcAddress(FHandle, PAnsiChar('Start'));
    if not Assigned(FStart) then
      raise Exception.Create('Load XlsGen.dll Failure!');
    Result := IXlsEngine(FStart());
  end
  else OleCheck(CoCreateInstance(Class_CoXlsEngine, nil, CLSCTX_ALL,
      IXlsEngine, Result));
end;
XlsGen.dll可以作为资源镶入exe中,在打开excel前放出来。付出的代价是镶入dll的exe比nativeExcel大,获得的回报是与时俱进,支持Excel 2010。
----------------------------------------------
-
作者:
男 kylix2008 (kylix2008) ★☆☆☆☆ -
普通会员
2018/5/9 18:56:57
29楼: NativeExcel有源码,读写速度非常快,本人水平有限,要是哪位高人能改进一下,适应新的Office版本,就好了。
----------------------------------------------
-
作者:
男 kylix2008 (kylix2008) ★☆☆☆☆ -
普通会员
2018/5/9 20:08:28
30楼: 这一个如何?
http://www.libxl.com/home.html

LibXL是一个专业的Excel文件管理工具,LibXL是一个可以读写Excel文件的库,易用而且功能强大,不需要Microsoft Excel和.NET框架。


功能描述About Feature
直接读写Excel文件

LibXL是一个可以读写Excel文件的库,易用而且功能强大,不需要Microsoft Excel和.NET框架。它可以用作:
生成全新电子表格
从已有电子表格中提取数据
编辑已有电子表格

功能特点
  毫不费力地帮助你的应用程序输出或提取数据到Excel文件,也可以从Excel文件中输出和提取数据
  可用作报表引擎
  可应用于C、C++、C#、Delphi、Fortran以及其他语言
  支持Excel 97-2003二进制格式(XLS)和Excel 2007-2013 XML格式(xlsx / xlsm)
  支持Unicode和64位平台
  简单的交互操作,不再依赖Excel
  LibXL具有C/C++头文件、Delphi部件以及.NET组件都包含在你的项目中,没有OLE自动化。
  定制外观和感觉
  LibXL支持众多格式选项:对齐、边框、颜色、填充图案、字体、合并单元格等。


高性能
  书写速度大约在每秒2100000个cells以及在二进制xls格式中8字符的随机字符串每秒240000个cells(CPU 3.2 GHz)。


语言:Delphi

var

  Book: TBook;
  Sheet: TSheet;
  
begin

  Book := TBinBook.Create; // use TXmlBook() for xlsx
  //xlBookSetKey(Book,PAnsiChar('GCCG'),PAnsiChar('windows-282123090cc0e6036db16b60a1o3p0h9'));

  Sheet := Book.addSheet('Sheet1');

  Sheet.writeStr(2, 1, 'Hello, World !');
  Sheet.writeNum(3, 1, 1000);

  Book.save('example.xls');
  Book.Free;
  
end;
----------------------------------------------
-
作者:
男 kylix2008 (kylix2008) ★☆☆☆☆ -
普通会员
2018/5/9 20:10:10
31楼: 经测试,LibXL读入WPS 生成的EXCEL 2007格式的文件,仍会报错:invalid file format
delphi编译其官方示例,生成的exe文件,360会报毒:Trojam.Generic
----------------------------------------------
-
作者:
男 kylix2008 (kylix2008) ★☆☆☆☆ -
普通会员
2018/5/9 20:15:58
32楼: recently i test XlsGen vs nativeExcel, it seems XlsGen kills nativeExcel:
https://wedelphi.com/t/419824/

不知XlsGen读入WPS生成的EXCEL 2007格式的文件,要出错不?


**********、**********、**********、**********
读写速度比较:
Speed test: NativeExcel 3.1 vs TXLSFile 4.0
https://www.board4all.biz/threads/speed-test-nativeexcel-3-1-vs-txlsfile-4-0.578635/#post-1296302


XE6下测试:
TXLSFile: Write 65535 rows each 10 cols,time taken: 00:17.796
NativeExcel: Write 65535 rows each 10 cols,time taken: 00:01.439
XLSReadWriteII: Write 65535 rows each 10 cols,time taken: 00:02.600

TXLSFile: Read 65535 rows each 10 cols,time taken: 00:02.261
NativeExcel: Read 65535 rows each 10 cols,time taken: 00:03.204
XLSReadWriteII: Read 65535 rows each 10 cols,time taken: 00:01.447

TXLSFile: Write 2000 rows each 100 cols,time taken: 00:01.738
NativeExcel: Write 2000 rows each 100 cols,time taken: 00:00.328
XLSReadWriteII: Write 2000 rows each 100 cols,time taken: 00:00.565

TXLSFile: Read 2000 rows each 100 cols,time taken: 00:00.571
NativeExcel: Read 2000 rows each 100 cols,time taken: 00:00.955
XLSReadWriteII: Read 2000 rows each 100 cols,time taken: 00:00.448


TXLSFile: Write 65535 rows each 100 cols,time taken: 30:18.314
NativeExcel: Write 65535 rows each 100 cols,time taken: 00:12.144
XLSReadWriteII: Write 65535 rows each 100 cols,time taken: 00:40.625


TXLSFile: Read 65535 rows each 100 cols,time taken: 01:22.480
NativeExcel: Read 65535 rows each 100 cols, Error:Out of memory  (XE6下出错,XE7以上不出错)
XLSReadWriteII: Read 65535 rows each 100 cols,time taken: 00:10.854

**********、**********、**********、**********
Compiled with Delphi7, NativeExcel 3.0.27 worked fine:
NativeExcel: Write 65535 rows each 100 cols,time taken: 00:17.123
NativeExcel: Read 65535 rows each 100 cols,time taken: 00:40.294
same version report "Out of memory" when compiled with Delphi 2007 and Delphi XE6.

**********、**********、**********、**********
XE6 EXE File Size

CompilingSpec  FileSize  Addition
----------
Base---------  2339  0
Base+TXLSFile  2500  161
Base+NativeExcel  3114  775
Base+XLSReadWrite  5868  3529
----------------------------------------------
-
作者:
男 xjia (xjia) ★☆☆☆☆ -
盒子活跃会员
2018/5/10 9:57:45
33楼: TXLSFile/NativeExcel/XLSReadWriteII 这三个打开现有文件都会丢弃不支持的格式或函数,LibXL好象不会,XLSGen没试。
----------------------------------------------
-
作者:
男 laimama_1 (苞谷) ★☆☆☆☆ -
盒子活跃会员
2019/2/16 17:16:55
34楼: LibXL和XLSGen不爽的是要带一个dll,如果用于unigui在服务端还不错。
一般简单读取,我用NativeExcel。
----------------------------------------------
-
作者:
男 crystalmoon (crystalmoon) ★☆☆☆☆ -
盒子活跃会员
2019/2/19 10:53:42
35楼: 感谢星五,   XLSGen已收藏。
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行108.0322毫秒 RSS