Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何阅读excel';将数据转换为json字符串?_Excel - Fatal编程技术网

如何阅读excel';将数据转换为json字符串?

如何阅读excel';将数据转换为json字符串?,excel,Excel,我有这样一个excel: ABC a1b1c1 c2 a2b2c3 c4 现在我想用c语言将数据读入json字符串,如下所示: “{'a1':{'b1':['c1','c2']},'a2':{'b2':['c3','c4']}” 我想这样做是因为我必须用javascript将这些数据解析为json, 我想要的数据是: var obj = { a1:{ b1:[c1,c2] }, a2:{ b2:[c3,c4] }} 我想过,但我没有想过 我的c#代码的一部分是: public

我有这样一个excel:

ABC

a1b1c1
c2
a2b2c3
c4

现在我想用c语言将数据读入json字符串,如下所示:

“{'a1':{'b1':['c1','c2']},'a2':{'b2':['c3','c4']}”

我想这样做是因为我必须用javascript将这些数据解析为json, 我想要的数据是:

var obj = {
a1:{
    b1:[c1,c2]
},
a2:{
    b2:[c3,c4]
}}
我想过,但我没有想过

我的c#代码的一部分是:

public string SheetToData(Worksheet worksheet)
        {
            int rowsCount = worksheet.NotEmptyRowMax;
            int columnsCount = worksheet.NotEmptyColumnMax;
            if (rowsCount < 1 || columnsCount < 1)
            {
                return;
            }

            for (int r = 0; r < rowsCount + 1; r++)
            {
                var row = worksheet.Rows[r];
                for (int c = 0; c < columnsCount + 1; c++)
                {
                    var cell = row[c];
                    var value = (cell.ValueAsString ?? "").Trim();

                }
            }
        }
公共字符串SheetToData(工作表)
{
int rowsunt=worksheet.NotEmptyRowMax;
int columnsCount=worksheet.NotEmptyColumnMax;
如果(行扫描<1 | |列扫描<1)
{
回来
}
对于(int r=0;r
感谢您的帮助,您可以帮助我解决此问题。

不需要row变量。您可以通过单元格集合访问单元格值:

for (int r = 0; r < rowsCount + 1; r++)
{
    for (int c = 0; c < columnsCount + 1; c++)
    {
        var value = (worksheet.Cells[r,c].Value ?? "").ToString().Trim();
    }
}
for(int r=0;r