Javascript 基于行和列将JSON导出为CSV
我在react中有一个使用react 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
这是我正在尝试形成的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点的活动是什么,谁都在忙这个或其他事情。截图中的格式,我已经有了。不符合要求。