我尝试使用xlsxio库将字符串写入单元格,但处理程序在迭代后不重置。我需要重置句柄以运行对此函数的其他调用。
#include "include/xlsxio_write.h"
#include <stdio.h>
#define MAX_LEN 1000
#define filename "report.xlsx"
xlsxiowriter handle;
void xlsx(xlsxiowriter hand, int row, int col, char* data) {
int i, s;
for (i = 1; i < (row + 1); i++) {
if (i == row) {
for (s = 1; s < (col + 1); s++) { // check for column
if (s == col) {
xlsxiowrite_add_column(hand, data, 10);
} else {
xlsxiowrite_add_column(hand, NULL, 5); // if not row, write empty string in row (skip it)
}
}
} else {
xlsxiowrite_add_cell_string(hand, ""); // if not row, write empty string in row (skip it)
xlsxiowrite_next_row(hand);
}
}
}
int main (int argc, char* argv[]) {
handle = xlsxiowrite_open(filename, "example");
xlsx(handle, 5, 2, "hello");
xlsx(handle, 5, 3, "there");
xlsx(handle, 8, 8, "mate");
xlsxiowrite_close(handle); //close xlsx file
return 0;
}
字符串
1条答案
按热度按时间pxiryf3j1#
我尝试使用xlsxio库将字符串写入单元格,但处理程序在迭代后不重置。我需要重置句柄以运行对此函数的其他调用。
你看起来运气不好。据我所知,xlsxio只支持顺序写入,不支持随机访问。这个轻量级的API希望你从左到右,从上到下写入数据。你不能跳过单元格或行(除了写空的),也不能返回到以前写入的行或同一行的前一个单元格。