Table¶
- class Table(*args, **options)¶
The table object is a member of the
tablescollection:>>> import xlwings as xw >>> sht = xw.books['Book1'].sheets[0] >>> sht.tables[0] # or sht.tables['TableName'] <Table 'Table 1' in <Sheet [Book1]Sheet1>>
Added in version 0.21.0.
- property api: Any¶
Returns the native object (
pywin32orappscriptobj) of the engine being used.
- property display_name: str¶
指定したTableオブジェクトの表示名を取得または設定します。
- property insert_row_range: Range | None¶
Returns an xlwings range object representing the row where data is going to be inserted. This is only available for empty tables, otherwise it'll return
None
- property name: str¶
Tableの名前を取得または設定します。
- resize(range)¶
Resize a Table by providing an xlwings range object
Added in version 0.24.4.
- property show_autofilter: bool¶
Turn the autofilter on or off by setting it to
TrueorFalse(read/write boolean)
- property show_headers: bool¶
ヘッダーの表示または非表示(読み取り/書き込み)
- property show_table_style_column_stripes: bool¶
列方向ストライプのテーブル スタイルが使用されているかを取得または設定します(読み取り/書き込み boolean)。
- property show_table_style_first_column: bool¶
最初の列が書式設定されているかを取得または設定します(読み取り/書き込み boolean)。
- property show_table_style_last_column: bool¶
最後の列が書式設定されているかを取得または設定します(読み取り/書き込み boolean)。
- property show_table_style_row_stripes: bool¶
行方向ストライプのテーブル スタイルが使用されているかを取得または設定します(読み取り/書き込み boolean)。
- property show_totals: bool¶
集計行の表示/非表示のブール値を取得または設定します。
- property table_style: str¶
Gets or sets the table style. See
Tables.addfor possible values.
- update(data, index=True)¶
引数dataでExcelテーブルを更新します。現在のところ、DataFrameのみ利用できます。
バージョン 0.24.0 で変更.
- パラメータ:
data (Any) -- Currently restricted to pandas DataFrames.
index (bool) -- Whether or not the index of a pandas DataFrame should be written to the Excel table.
サンプル
import pandas as pd import xlwings as xw sheet = xw.Book('Book1.xlsx').sheets[0] table_name = 'mytable' # Sample DataFrame nrows, ncols = 3, 3 df = pd.DataFrame(data=nrows * [ncols * ['test']], columns=['col ' + str(i) for i in range(ncols)]) # Hide the index, then insert a new table if it doesn't exist yet, # otherwise update the existing one df = df.set_index('col 0') if table_name in [table.name for table in sheet.tables]: sheet.tables[table_name].update(df) else: mytable = sheet.tables.add(source=sheet['A1'], name=table_name).update(df)