5

ユーザーが .csv としてマークされた Excel ファイルを誤ってアップロードしたかどうかを検出したいと考えています。これを可能にする xls ファイルの標準バイナリ フットプリントはありますか?

4

1 に答える 1

2

Python で Excel ファイルを読み取ることができます。

http://scienceoss.com/read-excel-files-from-python/

Perl で Excel ファイルを読み取ることができます。

http://www.thegeekstuff.com/2011/12/perl-and-excel/

PerlでExcelファイルを読むにはどうすればよいですか?

Unix/Linux ユーティリティfileは、Excel およびその他の多数のファイルを認識できます。

出力例:

file ~/Download/*xls

/home/paul/Downloads/REDACTED1.xls:          Composite Document File V2 Document, Little Endian, Os: Windows, Version 5.1, Code page: 1252, Author: Someones Name, Last Saved By: Somebody Else, Name of Creating Application: Microsoft Excel, Create Time/Date: Wed Jan 27 00:39:46 2010, Last Saved Time/Date: Sun Feb 28 13:55:47 2010, Security: 0

/home/paul/Downloads/REDACTED2.xls: Composite Document File V2 Document, Little Endian, Os: Windows, Version 1.0, Code page: -535, Author: Paul , Last Saved By: Paul , Revision Number: 3, Total Editing Time: 18:09, Create Time/Date: Wed Oct 26 23:45:51 2011, Last Saved Time/Date: Thu Oct 27 00:34:42 2011

file呼び出して結果を返すライブラリを簡単に構築できます。

それがどのように行われるかを確認するfileために、ソース コードが利用可能であり、fileユーティリティには独自の構成ファイルと、マジック バイトおよび文字列情報の構成ディレクトリさえあります。

apt-get source file

./file-5.11/magic/MagDir は、さまざまな形式で検索するためのマジック バイトと文字列でいっぱいのディレクトリですが、自分の Excel ファイルのスキャンで見られる「複合ドキュメント ファイル」はそこで宣言されていませんでした。このディレクトリには、Excel on Mac、Word、およびいくつかの古い msdos 形式の定義ファイルがあります。

cd ./file-5.11; grep 'Composite Document File' */*

収量:

src/cdf.c: * Parse Composite Document Files, the format used in Microsoft Office
src/cdf.c: * N.B. This is the "Composite Document File" format, and not the
src/cdf.h: * Parse Composite Document Files, the format used in Microsoft Office
src/cdf.h: * N.B. This is the "Composite Document File" format, and not the
src/readcdf.c:                if (file_printf(ms, "Composite Document File V2 Document")
src/readcdf.c:          if (file_printf(ms, "Composite Document File V2 Document")

fileこれを調査して、ユーティリティが一部の Microsoft Excel 形式を どのように検出できるかを判断することをお勧めします。

于 2013-08-12T01:55:24.747 に答える