XLSX (.xlsx,.xlsm)

予備知識

    • 登録MIMEタイプ:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
    • Microsoft Excelスプレッドシートファイル.
    • Excel 2007およびそれ以降の標準形式.
    • Office Open XMLスプレッドシートとしても知られる.
    • XMLベースのファイルバンドル.
    • データ,式,グラフィックスを保管する.

ImportとExport

  • Import["file.xlsx"]はXLSXファイルの全シートをインポートし,結果を配列のリストとして返す.
  • 各シートは数値・テキストデータ,ブール値,日付オブジェクトを含む完全な配列としてインポートされる.
  • Import["file.xlsx",elem]はXLSXファイルから指定された要素をインポートする.
  • Import["file.xlsx",{elem,sub1,}]はサブ要素をインポートする.これは特に部分データのインポートに便利である.
  • インポート形式はImport["file","XLSX"]またはImport["file",{"XLSX",elem,}]で指定できる.
  • Export["file.xlsx",expr]は配列または配列のリストをXLSXにエキスポートする.
  • Export["file.xlsx",expr]DatasetGridTimeSeries等の構造化された入力に対しても使える.
  • Export["file.xlsx",expr, elem]expr が要素 elem を指定してるとしてXLSXファイルを作成する.
  • Export["file.xlsx",{expr1,expr2,},{{elem1,elem2,}}]は各 expri が対応する elemi を指定しているとして扱う.
  • Export["file.xlsx",{elem1->expr1,elem2->expr2,},"Rules"]は規則を使ってエキスポートする要素を指定する.
  • 一般的な情報は,以下の関数ページを参照のこと.
  • Import, Exportファイルからインポートする,あるいはファイルへエキスポートする
    CloudImport, CloudExportクラウドオブジェクトからインポートする,あるいはクラウドオブジェクトへエキスポートする
    ImportString, ExportString文字列からインポートする,あるいは文字列へエキスポートする
    ImportByteArray, ExportByteArrayバイト配列からインポートする,あるいはバイト配列へエキスポートする

Import要素

  • 一般的なImport要素:
  • "Elements" ファイル中の有効な要素とオプションのリスト
    "Summary"ファイルの概要
    "Rules"使用可能なすべての要素の規則のリスト
  • 基本情報要素:
  • "Dimensions"シート名とシートの大きさの連想
    "SheetCount"シート数
    "Sheets"シート名のリスト
  • データ表現要素:
  • "Data"全シートを表す完全な配列のリスト
    "Dataset"全シートを表すDatasetオブジェクトのリスト
    "FormattedData"スタイル要素が適用されたデータ
    "Formulas"テキストとして表されたすべての式
    "Images"リストとして表された埋込み画像
    "NamedRanges"スパンとしての名前付き範囲の連想
  • "Data"全シートを表す完全な配列のリスト
    "Dataset"全シートを表すDatasetオブジェクトのリスト
    "FormattedData"スタイル要素が適用されたデータ
    "Formulas"テキストとして表されたすべての式
    "Images"リストとして表された埋込み画像
    "NamedRanges"スパンとしての名前付き範囲の連想
  • ImportExportはデフォルトで"Data"要素を使う.
  • データ表現要素はどれでも{elem,sheets,rows,cols}を指定してXLSXファイルの一部を抽出することができる.
  • 部分指定 sheet には以下のいずれでも使用できる:
  • nn 番目のシート
    -n最後から数える
    nameシート name
    n;;mn 番目から m 番目までのシート
    n;;m;;sn 番目から s 刻みで m 番目までのシート
    {n1,name,}特定の名前またはシート指標 ni
  • 部分指定 rowcol には以下のいずれでも使用できる:
  • nn 番目の行または列
    -n最後から数える
    n;;mn 番目から m 番目
    n;;m;;sn 番目から s 刻みで m 番目まで
    {n1,n2,}特定のシート指標 ni または名前
  • XLSXデータはWolfram言語では実数または整数,文字列,ブール値のTrueFalse,およびDateList指定で表される.
  • Import["file.xlsx","Formulas"]は各セルについて,{f1,f2,}という形のExcel式を与える.fi はXLSXファイルのシートに対応する配列である.
  • Importは完全な長方形配列としてスプレッドシートを生成する.
  • Exportは完全な配列と不規則な配列をサポートする.

オプション

  • ImportExportのオプション:
  • "EmptyField"""Wolfram言語で空のセルをどのように表すのか
  • Importオプション:
  • "HeaderLines"0ヘッダであると想定する行の数
    "SkipLines"0ファイルの冒頭の表略する行数
  • "HeaderLines""SkipLines"の可能な設定:
  • n省略する,またはDatasetヘッダとして使用する n
    {rows,cols}省略する,またはヘッダとして使用する行と列
  • Exportオプション:
  • "ImageFormat""JPEG"画像のエキスポートに使われる形式

例題

すべて開くすべて閉じる

  (4)

XLSXファイルの最初のシートをインポートする:

XLSXから埋め込まれた画像をインポートする:

最初の12個の素数をスプレッドシートにエキスポートする:

2つのデータ集合を別々のシートにエキスポートする:

スコープ  (6)

ファイル中のImport要素を示す:

シート名を指定する:

指定のシートの行1,列4のセルをインポートする:

2つ目のシートをインポートする:

日付,および日付-時間スタンプをエキスポートする:

Importは日付をDateObjectに変換する:

ラスタ画像をXLSX形式にエキスポートする(ベクトルグラフィックスを自動的にラスタライズする):

Importは画像のリストを返す:

一般的なファイル形式を表す生のバイト表現でも,画像としてXLSXにエキスポートすることができる:

Datasetをエキスポートする:

"HeaderLines"オプションを使って表の見出しをインポートする:

Import要素  (14)

"Data"  (6)

XLSXファイルを値の三次元リストとしてインポートする:

これもデフォルトの要素である:

XLSXファイルの最初のシートをインポートする:

XLSXファイルのシートから1行インポートする:

XLSXファイルのシートから1列インポートする:

指定のシートから最初の3行をインポートする:

"Dataset"  (1)

XLSXファイルの最初のシートをDatasetとしてインポートする:

最初の行を見出しとして使用する:

"Dimensions"  (1)

XLSXファイルのシートの次元をインポートする:

"FormattedData"  (1)

Styleの基本形式を維持してXLSXデータをインポートする:

"Formulas"  (1)

XLSXファイルのすべての式のセルの生のデータをインポートする:

"Images"  (1)

XLSXファイルから埋込み画像をインポートする:

"NamedRanges"  (1)

XLSXファイルの中の名前付き範囲を取得する:

データの指定範囲をインポートする:

"SheetCount"  (1)

XLSXファイルのシート数をインポートする:

"Sheets"  (1)

XLSXファイルのシートの名前をインポートする:

Importオプション  (6)

"EmptyField"  (1)

XLSXファイルによっては空のセルを含んでいることがある.空のフィールドを含むファイルを作成する:

デフォルトでは空のフィールドは""としてインポートされる:

空のフィールドに別の値を指定する:

"HeaderLines"  (4)

デフォルトでは,行と列はどれも見出しであるとは想定されない:

列見出しを指定する:

行見出しを指定する:

行と列の見出しを指定する:

"SkipLines"  (1)

XLSXシートによってはコメント行を含んでいることがある.

コメント行を含むファイルを作成する:

コメント行を省く:

コメント行を省き,次の行をDatasetの見出しとして使用する:

考えられる問題  (2)

データの左上の角は,行と列の見出しを含むDatasetをインポートする際に失われる:

データの次元によってDatasetが異なる形となることもある: