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 1
1
name : pyexcel-xlsx
2
2
organisation : pyexcel
3
3
releases :
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
4
10
- changes :
5
11
- action : Updated
6
12
details :
Original file line number Diff line number Diff line change @@ -2,8 +2,8 @@ overrides: "pyexcel.yaml"
2
2
name : " pyexcel-xlsx"
3
3
project : " pyexcel-xlsx"
4
4
nick_name : xlsx
5
- version : 0.6.1
6
- current_version : 0.6.1
5
+ version : 0.7.0
6
+ current_version : 0.7.0
7
7
release : 0.6.1
8
8
file_type : xlsx
9
9
gitignore_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