summaryrefslogtreecommitdiffstats
path: root/libxlsxio-feat.patch
blob: c22712cdf1743dd2f2c496d853604248e6cad65e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
Adapted for 0.2.24 from changes in https://github.com/viest/xlsxio


From 2ca1dd9967982dc3f4b5b4d49e019b95250893bf Mon Sep 17 00:00:00 2001
From: viest <dev@service.viest.me>
Date: Sat, 29 Feb 2020 22:15:15 +0800
Subject: [PATCH] Feat: get read sheet information

---
 .gitignore            |  2 ++
 include/xlsxio_read.h | 12 +++++++++
 lib/xlsxio_read.c     | 63 +++++++++++++++++++++++++------------------
 3 files changed, 51 insertions(+), 26 deletions(-)

diff --git a/include/xlsxio_read.h b/include/xlsxio_read.h
index b3d05a0..9ae382d 100644
--- a/include/xlsxio_read.h
+++ b/include/xlsxio_read.h
@@ -224,6 +224,18 @@ DLL_EXPORT_XLSXIO const XLSXIOCHAR* xlsxioread_sheetlist_next (xlsxioreadersheet
 /*! \brief read handle for worksheet object */
 typedef struct xlsxio_read_sheet_struct* xlsxioreadersheet;
 
+/*! \brief get the index of the last column of the current worksheet row
+ * \param  sheethandle   read handle for worksheet object
+ * \sa     xlsxioread_sheet_open()
+ */
+DLL_EXPORT_XLSXIO int xlsxioread_sheet_last_column_index(xlsxioreadersheet sheethandle);
+
+/*! \brief get worksheet open flags
+ * \param  sheethandle   read handle for worksheet object
+ * \sa     xlsxioread_sheet_open()
+ */
+DLL_EXPORT_XLSXIO unsigned int xlsxioread_sheet_flags(xlsxioreadersheet sheethandle);
+
 /*! \brief open worksheet
  * \param  handle        read handle for .xlsx object
  * \param  sheetname     worksheet name (NULL for first sheet)
diff --git a/lib/xlsxio_read.c b/lib/xlsxio_read.c
index 5d33705..2c63237 100644
--- a/lib/xlsxio_read.c
+++ b/lib/xlsxio_read.c
@@ -1262,6 +1262,17 @@ struct xlsxio_read_sheet_struct {
   size_t paddingcol;
 };
 
+DLL_EXPORT_XLSXIO int xlsxioread_sheet_last_column_index(xlsxioreadersheet sheethandle)
+{
+    return (int)sheethandle->lastcolnr;
+}
+
+
+DLL_EXPORT_XLSXIO unsigned int xlsxioread_sheet_flags(xlsxioreadersheet sheethandle)
+{
+    return (int)sheethandle->processcallbackdata.flags;
+}
+
 DLL_EXPORT_XLSXIO int xlsxioread_process (xlsxioreader handle, const XLSXIOCHAR* sheetname, unsigned int flags, xlsxioread_process_cell_callback_fn cell_callback, xlsxioread_process_row_callback_fn row_callback, void* callbackdata)
 {
   int result = 0;