Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 尝试在xls工作表中写入UTF8字符时,XlsReadWriteII组件将删除字符串_Excel_Delphi_Delphi 7_Xls_Xlsx - Fatal编程技术网

Excel 尝试在xls工作表中写入UTF8字符时,XlsReadWriteII组件将删除字符串

Excel 尝试在xls工作表中写入UTF8字符时,XlsReadWriteII组件将删除字符串,excel,delphi,delphi-7,xls,xlsx,Excel,Delphi,Delphi 7,Xls,Xlsx,我正在用Delphi7构建一个项目,其中我使用Axolot的XLSReadWritei5组件。现在我尝试创建一个xls工作表,在其中我尝试复制其中特定sql表的数据。 具体而言,我有一个表名“CredentialsT”,其中有以下记录: A/A ServerURL UserName Password Numbers 1 11111 DFGDFSG 4emÜø}ý 275,12073,1780 2 adsf a

我正在用Delphi7构建一个项目,其中我使用Axolot的XLSReadWritei5组件。现在我尝试创建一个xls工作表,在其中我尝试复制其中特定sql表的数据。 具体而言,我有一个表名“CredentialsT”,其中有以下记录:

A/A ServerURL     UserName      Password    Numbers

1   11111         DFGDFSG       4emÜø}ý     275,12073,1780
2   adsf          asdf          7g2ÌkßJ     275,12073,1780
3   sdfasdf       afsadfasdf    4e8@Â:Ïœ     275,12073,1780
4   asdfdsafasd   gggggggg      0‰n>ª3­ý      19504,32539,275
“密码”列中的数据已经加密,这就是为什么它的内容看起来——不知怎么的——没有逻辑。“数字列”也是字符串类型

现在,在我创建了XLSReadWrite对象之后,我读取了上面的记录,然后将它们写入我用XLSReadWrite对象创建的xls文件中。但是,即使在读写过程中没有出现错误或警告,当我尝试打开xls文件时(使用excel),它会产生4条关于文件机密性的警告,您只需单击“确定/是”按钮,就会出现以下致命错误消息:

中止部门:department/xl/sharedStrings.xml错误。(字符串)非法xml字符。第83行,第5列。 中止输入:节/xl/worksheets/sheet1.xml中的单元格信息”

单击“确定/是”按钮,xls文件将打开,但仅保留数字数据(A/A列)。其他所有内容都丢失了,甚至包括列标题(A/A、ServerURL等)。另一方面,如果我从我的服务器复制并在xls文件中写入除“密码”列以外的所有列,那么一切都像一个符咒。所以,我想整个问题都与编码有关。这是因为Delphi-7不使用UTF8编码,而是使用ANSI编码

我试图查找XLSREADWRITEI5组件是否有任何“编码”属性,但失败了


那么有谁能给我提供一种解决这个问题的方法吗?

将加密数据编码为有效的sting格式


加密数据是8位字节,并非所有8位字节都是UTF-8字符。通常,如果加密数据需要UTF-8字符,则会将其编码为Base64或十六进制字符串。

请发布一些代码,以再现您的问题。无法解释为什么我们看不到的代码无法按您希望的方式工作。如果需要调试代码的帮助,请在帖子中包含相关代码。另外,在发布到此处之前,您是否检查并在那里寻求帮助?寻求调试帮助的问题(“为什么此代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现此问题所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:如何创建。我投票将此问题视为离题,因为这似乎是excel或其他第三方应用程序的问题。如果不是,你需要提供更多信息