Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.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
Javascript 基于行和列将JSON导出为CSV_Javascript_Reactjs_Csv_Export To Csv - Fatal编程技术网

Javascript 基于行和列将JSON导出为CSV

Javascript 基于行和列将JSON导出为CSV,javascript,reactjs,csv,export-to-csv,Javascript,Reactjs,Csv,Export To Csv,我在react中有一个使用react CSV库的日历数据。我不仅需要导出基于列的数据,还需要导出基于行的数据。 这是我正在尝试形成的CSV格式 我有一个标题列表数据数组,其中包含大约50多个城市名称 const resourceId = ["Sydney", "Hyderabad", "London", "Tokyo", etc"] 要馈送至CSV的收割台 header_data = [{label: "resourceId", key: "resourceId"}] 我有一个类似这样的J

我在react中有一个使用react CSV库的日历数据。我不仅需要导出基于列的数据,还需要导出基于行的数据。
这是我正在尝试形成的CSV格式

我有一个标题列表数据数组,其中包含大约50多个城市名称

const resourceId = ["Sydney", "Hyderabad", "London", "Tokyo", etc"]
要馈送至CSV的收割台

header_data = [{label: "resourceId", key: "resourceId"}]
我有一个类似这样的JSON对象结构

const result =  [

{
    resourceId: "Berlin”, 
    title: “Test1”, 
    name: “Foo1”, 
    startTime: Fri Jan 10 2020 09:30:00 GMT+0530 (India Standard Time), 
    endTime: Fri Jan 10 2020 11:30:00 GMT+0530 (India Standard Time),
    timezone: "Asia/Singapore”
},
{
    resourceId: “Tokyo”, 
    title: “Test2”, 
    name: “Bar1”, 
    startTime: Fri Jan 10 2020 09:30:00 GMT+0530 (India Standard Time), 
    endTime: Fri Jan 10 2020 11:30:00 GMT+0530 (India Standard Time),
    timezone: "Asia/Singapore”
},
{
    resourceId: “Hyderabad”, 
    title: “Test3”, 
    name: "Foo2”, 
    startTime: Fri Jan 10 2020 13:30:00 GMT+0530 (India Standard Time), 
    endTime: Fri Jan 10 2020 15:30:00 GMT+0530 (India Standard Time),
    timezone: "Asia/Singapore”
}]
StartTime列数据的24小时时间格式

const start_time_column = ["00:00AM", "00:30AM", "01:00AM", "01:30AM", "02:00AM", "02:30AM", "03:00AM", "03:30AM", "04:00AM", "04:30AM", "05:00AM", "05:30AM", "06:00AM", "06:30AM", "07:00AM", "07:30AM", "08:00AM", "08:30AM", "09:00AM", "09:30AM", "10:00AM", "10:30AM", "11:00AM", "11:30AM", "00:00PM", "00:30PM", "01:00PM", "01:30PM", "02:00PM", "02:30PM", "03:00PM", "03:30PM", "04:00PM", "04:30PM", "05:00PM", "05:30PM", "06:00PM", "06:30PM", "07:00PM", "07:30PM", "08:00PM", "08:30PM", "09:00PM", "09:30PM", "10:00PM", "10:30PM", "11:00PM", "11:30PM"]
JSX标签

    <CSVLink
      data={result}
      headers={header_data}
      filename={"test.csv"}
    >
      <Button
        icon="export"
        intent="primary"
        text="Export"
      />
    </CSVLink>

这是我试图形成的CSV格式

我正在尝试将此日历数据按原样导出为CSV格式 例如,如果resourceID Hyderabad的事件是从13:00PM到15:30PM,那么它应该用

开始时间为13:00PM的行到开始时间为15:30PM的行的开始时间索引,数据为-13:30-15:30海得拉巴测试3.2。
提前谢谢。

您能澄清一下“按行”导出是什么意思吗?我试图弄清楚您希望导出包含什么,或者这方面的示例是什么样子。我没有得到连接b/w问题和链接图像。谢谢。@Todd我已经更新了我的问题,这是我试图实现的CSV格式的截图链接。导出为行以填充特定单元格。我认为您需要在csvlink组件的
onClick
属性中调用中间转换函数。该函数的目的是获取对象数组和开始时间列数组,并将它们组合成单个数组,添加结果标题等,其中开始时间列[i]值在开始时间和结束时间的范围内。不幸的是,我不相信这个库能够自动为您完成这种转换。我认为考虑一种更传统的格式是您最好的选择。是否有理由不希望每个事件都有一个按升序开始时间排序的新行?比如:@Todd是的,我不想这样做的原因是为了满足用户需求。他们希望看到特定时间范围内的事件和参与的用户。例如,他们想看看下午3点到5点的活动是什么,谁都在忙这个或其他事情。截图中的格式,我已经有了。不符合要求。你能澄清你所说的出口“按行”是什么意思吗?我试图弄清楚您希望导出包含什么,或者这方面的示例是什么样子。我没有得到连接b/w问题和链接图像。谢谢。@Todd我已经更新了我的问题,这是我试图实现的CSV格式的截图链接。导出为行以填充特定单元格。我认为您需要在csvlink组件的
onClick
属性中调用中间转换函数。该函数的目的是获取对象数组和开始时间列数组,并将它们组合成单个数组,添加结果标题等,其中开始时间列[i]值在开始时间和结束时间的范围内。不幸的是,我不相信这个库能够自动为您完成这种转换。我认为考虑一种更传统的格式是您最好的选择。是否有理由不希望每个事件都有一个按升序开始时间排序的新行?比如:@Todd是的,我不想这样做的原因是为了满足用户需求。他们希望看到特定时间范围内的事件和参与的用户。例如,他们想看看下午3点到5点的活动是什么,谁都在忙这个或其他事情。截图中的格式,我已经有了。不符合要求。