impExcel

概要

Excel 97-2003ファイルは直接インポートし、Excel 2007/2010のファイルはCOMコンポーネントでインポートします

Origin 2016以降、新しく"COM-フリー"のExcelインポートが可能です(impMSExcel参照)。この新しいXファンクションは、MS ExcelがインストールされていなくてもOriginにXLSX および XLSM ファイルをインポートできます。

コマンドラインでの使用法

1. fname$="sample.xls"; impExcel; // sample.xlsファイルをインポート

2. dlgfile g:=*.xls;impExcel cell:=0 l:=1 d:=NN; //フォーマットなしでインポート、1行目をロングネームとし、全ての列を属性なしにする

3. impExcel fname:="E:\Sample.xls" template:=MyTemplate.ogw; // 分析テンプレート MyTemplate にsample.xlsファイルをインポートする

変数

表示名

変数名

I/O データ型

デフォルト値

説明

ファイル名

fname

入力

string

fname$

インポートするファイルのファイル名

ファイル情報とデータ選択

info

入力

TreeNode

<unassigned>

ファイルの基本情報を表示するためにダイアログで使用されます。

第1ファイルインポートモード

firstmode

入力

int

0

最初にインポートするファイルのインポートモードを指定します。

オプションリスト

  • replace{0}:既存データを置き換える
目的のウィンドウ内にある既存のデータを置き換えてインポートします。
Note: 目的のワークブックに以前Excelファイルがインポートされたことがるか、Originは検出します。もし以前インポートした事がある場合、最初のワークシートは新しいデータで置き換えられます(繰り返しのあるシートは削除されます。既存のシートの数が足りない場合はシートが追加されます)。以前、そのファイルにインポートをしたことが無い場合は、アクティブなワークシートだけがインポートするExcelファイルで置き換えられます。他のワークシートはそのままの状態で保存され、Excelファイルの他のシートは新しいシートにインポートされます。
  • column{1}:列を追加して読み込む
インポートされた、最初のExcelファイルの各シートに新しい列を作成します。
  • book{3}:ブックを新たに作って読み込む
最初のExcelファイルのために新しいブックを作成します。
  • sheet{4}:シートを新たに作って読み込む
最初のExcelファイルのために新しいシートを作成します。

複数ファイルのインポートモード(第1ファイル以外)

impmode

入力

int

3

最初のファイル以外のExcelファイルをインポートする時に使用します。

オプションリスト

  • column{1}:列を追加して読み込む
インポートされた、Excelファイルの各シートに新しい列を作成します。
  • book{3}:ブックを新たに作って読み込む
インポートする各ファイルに対して新しいブックを作成します。Excelファイルが複数シートをもつ場合、各シートは同じブックの新しいシートにインポートされます。
  • sheet{4}:シートを新たに作って読み込む
インポートする各シートに対して新しいブックを作成します。

テンプレート名

template

入力

string

<default>

データインポートにおいて、ワークブックテンプレート (*.otw) または分析テンプレート (*.ogw) を使用できます。このフィールドにテンプレートを入力することができ、参照ボタンをクリックして1つを選択します。デフォルトでは、Originのワークブックテンプレート<default> が使用されます。アクティブなワークシート/ワークブックから、インポートしたデータをクローン複製することが出来る、<Clone>という特別なテンプレートを提供します。Note: 空のワークシートを含む特定のワークブックテンプレートに複数のエクセルシートをインポートするときは、インポート挙動を追加制御するための システム変数 @ISE を参照することが出来ます。

Excel COMコンポートネントを使用してインポート

excel

入力

int

1

Excelで提供しているCOMコンポーネントを使ってインポートするかどうかを指定します。このオプションを使用するには、Excelがインストールされている必要があります。

インポートセルフォーマット

cellformats

入力

int

1

これはインポートしたセルの形式をExcelのセルと同じように維持するオプションです。このオプションはCOMモード使用中でExcelがコンピュータにインストールされる必要が無い場合には使用できません。このオプションは.XLSX または .XLSMファイルをインポートしようとすると失敗します。これらのファイルはCOMを使用しないとインポートできません。

空白列の最大数 (すべてを指定するには-1)

emptycols

入力

int

0

これは空白列の最大数を指定します。

空のシートを削除

excludeempty

入力

int

1

対象のウィンドウに空のシートを入力するかどうかを指定してください。チェックがついている場合、空のシートはファイル情報とデータ選択ブランチのファイルシートブランチに表示されません。

メインヘッダの行数

mainheader

入力

int

0

メインヘッダ行の数を指定します。メインヘッダはインポート時にスキップすることもできます。

サブヘッダの行数

subheader

入力

int

<auto>

サブヘッダ行の数を指定します。<自動>の時は、以下のノードで決定されたサブヘッダの合計数を意味します。

  • ショートネームに対する行のインデックス
  • ロングネームに対する行のインデックス
  • 単位に対する行のインデックス
  • コメント行の開始インデックス
  • コメント行の終了インデックス

ショートネームに対する行のインデックス

sname

入力

int

<none>

列のショートネームの行インデックスを指定します。

Note:

Origin 2017から、列のショートネームは、アルファベット順に制限されます。初期設定ではこれは編集出来ません。ショートネーム用行番号 オプションはGUIでは非表示です。インポートの際に列ショートネームを設定したい場合、目的のワークブックで、ウィンドウプロパティダイアログのプロパティタブにある、スプレッドシートセル表記のチェックを外し、列ショートネームの編集を可能にします。

ロングネームに対する行のインデックス

lname

入力

int

<none>

列のロングネームの行インデックスを指定します。

単位に対する行のインデックス

unit

入力

int

<none>

列の単位の行インデックスを指定します。

コメント行の開始インデックス

cmt1

入力

int

<none>

列のコメント行の開始行のインデックスを指定します。

コメント行の終了インデックス

cmt2

入力

int

<none>

列のコメント行の終了行のインデックスを指定します。

パラメータの開始インデックス

para1

入力

int

<none>

システムパラメータの開始行のインデックスを指定します。

パラメータの終了インデックス

para2

入力

int

<none>

システムパラメータの終了行のインデックスを指定します。

ユーザパラメータの開始インデックス

udp1

入力

int

<none>

ユーザパラメータの開始行のインデックスを指定します。

ユーザパラメータの終了インデックス

udp2

入力

int

<none>

ユーザパラメータの終了行のインデックスを指定します。

余分な行の削除

removerow

入力

int

1

ヘッダ行(ショートネーム、ロングネーム、単位、コメント)をデータ行から取り除くか指定します。これが選択されると、ヘッダ行はデータとしてインポートされず、データ行の設定としてのみ機能します。サブヘッダの数が<自動>でないとき、このコントロールは無視されます。

列のXY属性

desig

入力

string

 

列の属性を指定します。指定された属性は、全てのシートに自動で適用されます。

ヘッダを全てのシートに適用

allsheets

入力

int

0

ヘッダを全てのExcelシートに適用するか指定します。

インポートオプション

options

入力

TreeNode

<unassigned>

ワークシート/ブックの名前を付ける/変更する(Options.Names) の項目は、ワークシートとワークブックの名前の付け方を指定するのに使用します。
部分インポート(Options.PartImp) の項目では、Excelファイルをどのように部分インポートするか指定します。このXファンクションには、サブツリーノードが利用できます:partial, FirstCol, ReadCols, SkipCols,LastCol

出力

orng

出力

Range

<active>

これは出力範囲を指定するのに使用します。

ヘッダ情報

finfo

出力

TreeNode

<optional>

ヘッダ情報出力のオプションです。GUIでは表示されません。ユーザが、この変数を使用することはお勧めできません。

シート名またはインデックス

sheet

入力

string

 

インポートするExcelシートを指定します。コロンを使用してシート名を分けます。GUIでは表示されません。この変数の使用はお勧めされません。

繰り返しインポート

reimp

入力

int

0

現在のインポートが再インポートの処理かどうか指定します。GUIでは表示されません。この変数の使用はお勧めされません。

説明

このXファンクションはMicrosoft Excelファイルをインポートするのに使います。このインポートはExcelがインストールされていなくても.XLSファイルのインポートはできます。この場合、COM は使われません。新しいファイル形式( .XLSX & .XLSM )のインポートはExcelが必要です。

- メニューから操作:ファイル:インポート:Excel(XLS,XLSX,XLSM)を選びます。

- コマンドウィンドウで操作:コマンドウィンドウに impExcel -dと入力します。

インポートしたExcelウィンドウには1シート以上がある可能性があります。全てのシートは目的のワークブックで別々のワークシートに、同じインポートの設定でインポートされます。

インポートしたExcelの最初の数行はOriginのワークシートでショートネーム、ロングネーム、単位、コメントとしてインポートできます。これらの行を指定する場合は、0以外のインデックス番号を入力してください。

Origin 2015では、ExcelからOriginに複数のシートを再インポートできます。Excel再インポートの間、Originが最新のデータを使用するためにリンクは維持されます。

Excelファイルを再インポートするには、メニューからファイル: 即時再インポートを選択するか、ショートカットキーCtrl+4 で、以前の同じ設定でExcelシートをインポートできます。あるいは、メニューからファイル: 再インポート...を選択して、再インポートのためのファイルのインポート設定を変更します。

また、コマンドウィンドウで、reimport -d というコマンドを実行してExcelファイルを再インポートできます。

Origin2016から、用意したワークブックテンプレートまたは分析テンプレートに、Excelブックのカスタマイズ/分析データを一括処理するためにExcelワークブックをインポートすることが出来ます。

サンプル

サンプル 1

以下のサンプルはExcelファイルを工場出荷時のデフォルト設定でインポートします。

  1. コマンドウィンドウで、次のコマンドを入力します。
    impExcel -d;
            
    
    これはExcel ダイアログを開き、インポートファイルを選択します。
  2. データファイルの場所に移動します。ファイルを選択してファイルの追加ボタンをクリックします。OK をクリックして、ダイアログを閉じます。
  3. c. impExcelダイアログではテーマとして<システムデフォルト>を選びます。OK をクリックしてダイアログを閉じます。

サンプル 2

以下のコマンドはExcelファイル(c:\test.xls)をダイアログを開くことなくインポートするスクリプトです。

fname$="c:\test.xls"; impexcel;

関連 X ファンクション

impfile, impinfo