File tree Expand file tree Collapse file tree 4 files changed +88
-2
lines changed Expand file tree Collapse file tree 4 files changed +88
-2
lines changed Original file line number Diff line number Diff line change 11name : pyexcel-xlsx
22organisation : pyexcel
33releases :
4+ - changes :
5+ - action : Updated
6+ details :
7+ - ' `#56`: to add a csv file as sheet to a xlsx file'
8+ date : 10.05.2025
9+ version : 0.7.0
410- changes :
511 - action : Updated
612 details :
Original file line number Diff line number Diff line change @@ -2,8 +2,8 @@ overrides: "pyexcel.yaml"
22name : " pyexcel-xlsx"
33project : " pyexcel-xlsx"
44nick_name : xlsx
5- version : 0.6.1
6- current_version : 0.6.1
5+ version : 0.7.0
6+ current_version : 0.7.0
77release : 0.6.1
88file_type : xlsx
99gitignore_language : Python
Original file line number Diff line number Diff line change 1+ """
2+ pyexcel_xlsx.xlsxr
3+ ~~~~~~~~~~~~~~~~~~~
4+
5+ Read xlsx file format using openpyxl
6+
7+ :copyright: (c) 2015-2025 by Onni Software Ltd & its contributors
8+ :license: New BSD License
9+ """
10+
11+ import openpyxl
12+
13+
14+ class Sheet (object ):
15+ def __init__ (self , xlsx_sheet ):
16+ self .xlsx_sheet = xlsx_sheet
17+
18+ def __getitem__ (self , cell ):
19+ return self .xlsx_sheet [cell ]
20+
21+ def __setitem__ (self , cell , value ):
22+ self .xlsx_sheet [cell ] = value
23+
24+ def append (self , data ):
25+ self .xlsx_sheet .append (data )
26+
27+
28+ class Book (object ):
29+ def __init__ (self , file_name ):
30+ self .xlsx_book = openpyxl .load_workbook (
31+ filename = file_name ,
32+ )
33+
34+ def save (self , file_name ):
35+ self .xlsx_book .save (file_name )
36+
37+ def close (self ):
38+ self .xlsx_book .close ()
39+
40+ def __getitem__ (self , key ):
41+ if key not in self .xlsx_book .sheetnames :
42+ self .xlsx_book .create_sheet (key )
43+ return Sheet (self .xlsx_book [key ])
44+
45+ def __delitem__ (self , other ):
46+ self .xlsx_book .remove (self .xlsx_book [other ])
Original file line number Diff line number Diff line change 1+ import os
2+ from datetime import time , datetime
3+
4+ from pyexcel_xlsx import get_data
5+ from pyexcel_xlsx .book import Book
6+ from pyexcel_io ._compact import OrderedDict
7+
8+ from nose .tools import eq_
9+
10+
11+ def test_book ():
12+ test_file = "book_test.xlsx"
13+ book = Book (os .path .join ("tests" , "fixtures" , "date_field.xlsx" ))
14+ sheet = book ["Sheet2" ]
15+ sheet ["A1" ] = "Test"
16+ book .save (test_file )
17+ book .close ()
18+
19+ data = get_data (test_file )
20+ eq_ (data ["Sheet2" ], [["Test" ]])
21+ os .unlink (test_file )
22+
23+
24+ def test_create_new_sheet ():
25+ test_file = "book_test.xlsx"
26+ book = Book (os .path .join ("tests" , "fixtures" , "date_field.xlsx" ))
27+ sheet = book ["alien" ]
28+ sheet ["A1" ] = "Test"
29+ book .save (test_file )
30+ book .close ()
31+
32+ data = get_data (test_file )
33+ eq_ (data ["alien" ], [["Test" ]])
34+ os .unlink (test_file )
You can’t perform that action at this time.
0 commit comments