C语言 如何将句柄重置为0?

yc0p9oo0  于 2023-11-16  发布在  其他
关注(0)|答案(1)|浏览(79)

我尝试使用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;
}

字符串

pxiryf3j

pxiryf3j1#

我尝试使用xlsxio库将字符串写入单元格,但处理程序在迭代后不重置。我需要重置句柄以运行对此函数的其他调用。
你看起来运气不好。据我所知,xlsxio只支持顺序写入,不支持随机访问。这个轻量级的API希望你从左到右,从上到下写入数据。你不能跳过单元格或行(除了写空的),也不能返回到以前写入的行或同一行的前一个单元格。

相关问题