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
|
最初にインポートするファイルのインポートモードを指定します。
オプションリスト
- 目的のウィンドウ内にある既存のデータを置き換えてインポートします。
- Note: 目的のワークブックに以前Excelファイルがインポートされたことがるか、Originは検出します。もし以前インポートした事がある場合、最初のワークシートは新しいデータで置き換えられます(繰り返しのあるシートは削除されます。既存のシートの数が足りない場合はシートが追加されます)。以前、そのファイルにインポートをしたことが無い場合は、アクティブなワークシートだけがインポートするExcelファイルで置き換えられます。他のワークシートはそのままの状態で保存され、Excelファイルの他のシートは新しいシートにインポートされます。
- インポートされた、最初のExcelファイルの各シートに新しい列を作成します。
- 最初のExcelファイルのために新しいブックを作成します。
- 最初のExcelファイルのために新しいシートを作成します。
|
複数ファイルのインポートモード(第1ファイル以外)
|
impmode
|
入力
int
|
3
|
最初のファイル以外のExcelファイルをインポートする時に使用します。
オプションリスト
- インポートされた、Excelファイルの各シートに新しい列を作成します。
- インポートする各ファイルに対して新しいブックを作成します。Excelファイルが複数シートをもつ場合、各シートは同じブックの新しいシートにインポートされます。
- インポートする各シートに対して新しいブックを作成します。
|
テンプレート名
|
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ファイルを工場出荷時のデフォルト設定でインポートします。
- コマンドウィンドウで、次のコマンドを入力します。
impExcel -d;
これはExcel ダイアログを開き、インポートファイルを選択します。
- データファイルの場所に移動します。ファイルを選択してファイルの追加ボタンをクリックします。OK をクリックして、ダイアログを閉じます。
- c. impExcelダイアログではテーマとして<システムデフォルト>を選びます。OK をクリックしてダイアログを閉じます。
サンプル 2
以下のコマンドはExcelファイル(c:\test.xls)をダイアログを開くことなくインポートするスクリプトです。
fname$="c:\test.xls"; impexcel;
関連 X ファンクション
impfile, impinfo
|