私たちは、perlスクリプトを使ってxlsxファイルを生成しています。ファイルには通常、何千ものレコードが含まれます。これはスポットエラーを非常に困難な操作にします。 このプロセスは何年も問題なく動作していました。
今週は、エラーが含まれているファイルをチェックする要求がありました。 Excelを開くと、ファイルにエラーが含まれているかどうかが確認され、修復するかどうか尋ねられました。実際に
我々はデータを回復したいが破損しているファイルのどの部分を知っている必要はありません。エラーは破損したデータから発生するはずであり、私たちはこれらのデータを識別することに興味があります。 ログメッセージには、次のことを示しています
xlsxファイルの破損データを見つけよう
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<recoveryLog xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
<logFileName>error068200_01.xml</logFileName> </br>
<summary>Errors were detected in file 'D:\Temp\20161020\file_name.xlsx'</summary>
<repairedRecords summary="Following is a list of repairs:"><repairedRecord>Repaired Records: Cell information from /xl/worksheets/sheet1.xml part</repairedRecord>
</repairedRecords>
</recoveryLog>
エラーが破損したデータから来る必要があります。この破損したデータを見つけ出すのに役立つツール/方法はありますか? XMLファイルの名前をzipファイルに変更してみましたが、XMLエディタで開くとXMLファイルにエラーが見つかりませんでした。
また、さまざまなXMLファイル構造が適切であることも確認しました。予想通り
は、あなたとよろしく
問題の説明は非常に曖昧です。 – simbabque
私は少なくとも、XLSXファイルをどのように生成しているのかを知る必要があると思います。実行可能な最小限の例を教えてください。 –
特定のバージョンのExcelでこの問題が発生しているかどうかを確認しましたか?最近誰かがそれを知らずにあなたのスクリプトを変更しましたか?使用しているPerlモジュールを更新しましたか?最近、別のソースからデータを取得し始めましたか?可能であれば、 "/xl/worksheets/sheet1.xml"を生成するコードを無効にしてみてください。あなたはまだ問題を抱えていますか? – benrifkah