我是reactjs的新手,我正在做一个虚拟项目来学习react,需要帮助来导出CSV和xls格式以从表数据下载文件

f8rj6qna  于 2023-02-15  发布在  React
关注(0)|答案(1)|浏览(138)
fetch("http://dummy.restapiexample.com/api/v1/employees").then(
  res => {
    res.json().then(
      data => {
        console.log(data.data);
        if (data.data.length > 0) {

          var temp = "";
          data.data.forEach((itemData) => {
            temp += "<tr>";
            temp += "<td>" + itemData.id + "</td>";
            temp += "<td>" + itemData.employee_name + "</td>";
            temp += "<td>" + itemData.employee_salary + "</td></tr>";
          });
          document.getElementById('data').innerHTML = temp;
        }
      }
    )
  }
)
<div class="container">
  <table class="table">
    <thead>
      <tr>
        <th>ID</th>
        <th>Employee Name</th>
        <th>Salary</th>
      </tr>
    </thead>
    <tbody id="data">

    </tbody>
  </table>
</div>

从上述API获取数据并显示在表格中。需要帮助以csv和xls格式导出所有数据并通过单击文件夹下载

xn1cxnb4

xn1cxnb41#

很好的起点:https://beta.reactjs.org/learn/tutorial-tic-tac-toe
如果您没有在本地设置工具链,Stackblitz也是一个非常棒的Playground:https://stackblitz.com/edit/react-8az7tw?file=src%2FApp.js
在React中,你实际上从来没有直接与DOM交互过--例如,使用document API(就像document.getElementById是一个禁忌。如果你发现自己在接触它们(以这种方式添加事件侦听器--element.addEventListener--也是错误的),请停止自己,你做错了。
做你想做的事情的React版本大致如下:

const MyApp = () => {

  const [dataFromApi,setDataFromApi] = useState([])

  useEffect(() => {
    fetchDataFromApi().then(data => setDataFromApi(data))
  },[])

  return (
    <div class="container">
      <table class="table">
        <thead>
          <tr>
            <th>ID</th>
            <th>Employee Name</th>
            <th>Salary</th>
          </tr>
        </thead>
        <tbody id="data">
          {dataFromApi.map(data => (
             <tr>
                {/* spit out your HTML for each row in here */}
             </tr>
          ))}
        </tbody>
      </table>
    </div>
  )

}

相关问题