csv 如何从Onedrive Excel文件实时更新JSON数组?

icomxhvb  于 2023-07-31  发布在  其他
关注(0)|答案(1)|浏览(82)

我目前正在进行一个项目,旨在根据输入到onedrive excel文件中的数据更新网页。目前,我正在我的PC上本地运行一个React项目,它将CSV文件转换为JSON,CSV文件存储在React项目的公共文件夹中,并且不会实时更新。
我试图创建一个电源自动化流程,将Excel文件转换为CSV,并将其本地存储在我的桌面上(这意味着它将实时更新),但是,电源自动化流程无法在本地存储文件。因此,流每分钟将excel文件转换为csv,但将其存储在我的onedrive上。我相信你们大多数人都知道,我无法从我的React项目中引用这个Excel文件,因为它在src文件夹之外。
为了清楚起见,这里是我的App.js代码和我正在转换的CSV:

import React from "react";
import Papa from "papaparse";
import "C:/Users/isaacl5/ReactProjects/my-app/src/App.css";

export default function App() {
 const [rows, setRows] = React.useState([]);

 React.useEffect(() => {
   async function getData() {
     const response = await fetch("/output.csv");
     console.log(response);
     const reader = response.body.getReader();
     const result = await reader.read(); // raw array
     const decoder = new TextDecoder("utf-8");
     const csv = decoder.decode(result.value); // the csv text
     console.log(csv);
     const results = Papa.parse(csv, { header: true }); // object with { data, errors, meta }
     const rows = results.data; // array of objects
     setRows(rows);
   }
   getData();
 }, []); // [] means just do this once, after initial render
 return (
   <div>
     {rows.map((row) => {
       return (
         <div key={row.id} class={row.location}>
           <h2>{row.location}</h2>
         </div>
       );
     })}
   </div>
 );
}

字符串
值得注意的是,如果我能以某种方式在我的onedrive上获取CSV文件,这个问题就会得到解决。比如说

const response = await fetch("LINK TO CSV FILE ON ONEDRIVE || OR FILE PATH TO MY ONEDRIVE DESKTOP");


CSV(通过Power Automate从Excel转换为CSV):

Project,Location,StartDayandHour,EndDayandHour,UtilityA,UtilityB,UtilityC
Air Compressor,Compressor room 2,45140,45140.3333333333,Y,N,N
LGV Aisle,LGV lane,45140.25,45143.7083333333,N,Y,N


Microsoft图形工具包是否有能力直接将Excel或CSV数据拉入我的网页并将其转换为JSON对象?
如果没有,我是否可以在本地下载CSV文件并在代码中引用它?(这是否仍然具有实时更新功能?)
我明白这是一个开放式的问题,但任何方向(具体或广泛)将不胜感激。我是这个工具包的新手,我确信我忽略了它的一些有用的功能。
任何帮助将不胜感激!谢谢大家!

aydmsdu9

aydmsdu91#

简短回答:没有。
更长的答案:您可以使用@microsoft/microsoft-graph-client从OneDrive位置加载文件,前提是经过身份验证的用户具有该文件的权限。如果您使用工具包进行auth和其他事情,那么您可以从Provivers.globalProvider.client static中获取客户端对象。一旦你有了这个和一个认证会话,然后看看这篇文章来锻炼如何下载文件:https://learn.microsoft.com/en-us/graph/api/driveitem-get-content?view=graph-rest-1.0&tabs=http#downloading-files-in-javascript-apps

相关问题