ブックy読み込みサンプルコード
import sys
import datetime
import xtrain
t1 = datetime.datetime.today()
print('処理開始 ' + str(t1.month) + '月' + str(t1.day) + '日 ' + str(t1.hour) + ':' + str(t1.minute) + ':' + str(t1.second) + '.' + str(t1.microsecond))
book_path = 'Python_SAMPLE.xlsx'
#
# Excelブックオープン
#
book = xtrain.AXLS_read_book(book_path)
if not book:
print('AXLS_open_book() ERROR')
sys.exit()
rtn = xtrain.AXLS_error_code(book)
if rtn != 0:
error_mesg = xtrain.AXLS_error_mesg(book)
print('AXLS_read_book() ERROR code=' + str(error_code) + ' message=' + error_mesg)
xtrain.AXLS_scrap_book(book)
sys.exit()
#
# シート数繰り返し
#
for sheet in range(0,xtrain.AXLS_sheet_num(book)):
rtn = xtrain.AXLS_open_sheet2(book, sheet)
if rtn != 0:
error_code = xtrain.AXLS_error_code(book)
error_mesg = xtrain.AXLS_error_mesg(book)
print('AXLS_open_sheet2() ERROR code=' + str(error_code) + ' message=' + error_mesg)
xtrain.AXLS_scrap_book(book)
sys.exit()
print(xtrain.AXLS_sheet_name(book, sheet))
for row in range(0,xtrain.AXLS_row_num(book)):
for clm in range(0,xtrain.AXLS_column_num(book, row)):
cell = xtrain.AXLS_cell_name(row+1, clm+1)
print('行' + str(row+1) + '列' +str(clm+1) + '=' + xtrain.AXLS_get_cell(book, cell))
#
# Excelブック解放
#
xtrain.AXLS_scrap_book(book)
t1 = datetime.datetime.today()
print('処理終了 ' + str(t1.month) + '月' + str(t1.day) + '日 ' + str(t1.hour) + ':' + str(t1.minute) + ':' + str(t1.second) + '.' + str(t1.microsecond))
解説
読み込みブックオブジェクトの作成
#
# Excelブックオープン
#
book = xtrain.AXLS_read_book(book_path)
if not book:
print('AXLS_open_book() ERROR')
sys.exit()
rtn = xtrain.AXLS_error_code(book)
if rtn != 0:
error_mesg = xtrain.AXLS_error_mesg(book)
print('AXLS_read_book() ERROR code=' + str(error_code) + ' message=' + error_mesg)
xtrain.AXLS_scrap_book(book)
sys.exit()
AXLS_read_book関数を使い、ブックオブジェクトを生成します。
オブジェクトの実体は、DLL/共有ライブラリ内に確保された、X-TRAiN用構造体の
アドレスを16進数に変換した文字列です。
以降の関数呼び出し時には、この値を使用します。
エラー時は戻り値としてNULLが返却されますが、これはメモリ確保ができなかった場合のみです。
読み込みエラーの判定は、AXLS_error_code関数でエラーコードを、
AXLS_error_mesg関数でエラーメッセージを取得して行います。
異常終了する場合は、AXLS_scrap_book関数でメモリの解放を行ってください。
セル値の読み込み
#
# シート数繰り返し
#
for sheet in range(0,xtrain.AXLS_sheet_num(book)):
rtn = xtrain.AXLS_open_sheet2(book, sheet)
if rtn != 0:
error_code = xtrain.AXLS_error_code(book)
error_mesg = xtrain.AXLS_error_mesg(book)
print('AXLS_open_sheet2() ERROR code=' + str(error_code) + ' message=' + error_mesg)
xtrain.AXLS_scrap_book(book)
sys.exit()
print(xtrain.AXLS_sheet_name(book, sheet))
for row in range(0,xtrain.AXLS_row_num(book)):
for clm in range(0,xtrain.AXLS_column_num(book, row)):
cell = xtrain.AXLS_cell_name(row+1, clm+1)
print('行' + str(row+1) + '列' +str(clm+1) + '=' + xtrain.AXLS_get_cell(book, cell))
AXLS_sheet_num関数は、シート数を返します。
AXLS_open_sheet2関数は、シートインデックス(連番)に対応したシートにカレントシートを切り替えます。
AXLS_sheet_name関数は、カレントシート名を返します。
AXLS_row_num関数は、カレントシートの行数を返します。
AXLS_column_name関数は、カレントブック内の引数で指定された行のカラム数を返します。
AXLS_get_cell関数は、カレントブック内の引数で指定されたセルの値を文字列として返します。
ブックオブジェクトの解放
#
# Excelブック解放
#
xtrain.AXLS_scrap_book(book)
AXLS_scrap_book関数を使い、ブックオブジェクトのメモリ解放を行います。