vueIndex.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. const requestFunc = async(url, method = "GET", data = null, token = null) => {
  2. apihost = 'http://127.0.0.1/api'
  3. method = method.toLocaleUpperCase()
  4. let fullurl = `${apihost}${url}`;
  5. let options = {
  6. method: method,
  7. headers: {
  8. "Content-Type": "application/json",
  9. "Authorization": `Bearer ${token}`,
  10. },
  11. };
  12. switch(method) {
  13. case "PUT":
  14. delete options.headers["Content-Type"];
  15. options.body = data;
  16. break;
  17. case "POST": case "PATCH": case "DELETE":
  18. options.body = JSON.stringify(data);
  19. break;
  20. }
  21. const res = await fetch(fullurl, options);
  22. return await res.json();
  23. };
  24. var selectedFile;
  25. document
  26. .getElementById("fileUpload")
  27. .addEventListener("click", function(event){
  28. selectedFile = event.target.files[0];
  29. });
  30. document
  31. .getElementById("uploadExcel")
  32. .addEventListener("click", function(){
  33. if (selectedFile) {
  34. console.log("hi");
  35. var fileReader = new FileReader();
  36. fileReader.onload = function(event) {
  37. var data = event.target.result;
  38. var workbook = XLSX.read(data, {
  39. type: "binary"
  40. });
  41. workbook.SheetNames.forEach(sheet => {
  42. let rowObject = XLSX.utils.sheet_to_row_object_array(
  43. workbook.Sheets[sheet]
  44. );
  45. var myHeaders = new Headers();
  46. myHeaders.append("Content-Type", "application/json");
  47. var raw = JSON.stringify(rowObject);
  48. requestFunc(url="/studyplan/", method="POST", data=raw)
  49. console.log(jsonObject);
  50. // let jsonObject = JSON.stringify(rowObject);
  51. // document.getElementById("jsonData").innerHTML = jsonObject;
  52. // console.log(jsonObject);
  53. });
  54. };
  55. fileReader.readAsBinaryString(selectedFile);
  56. }
  57. });
  58. // // <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.13.5/xlsx.full.min.js"></script>
  59. // // <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.13.5/jszip.js"></script>
  60. // // <script type="text/javascript">
  61. // function Upload() {
  62. // //Reference the FileUpload element.
  63. // var fileUpload = document.getElementById("fileUpload");
  64. // //Validate whether File is valid Excel file.
  65. // var regex = /^([a-zA-Z0-9\s_\\.\-:])+(.xls|.xlsx)$/;
  66. // if (regex.test(fileUpload.value.toLowerCase())) {
  67. // if (typeof (FileReader) != "undefined") {
  68. // var reader = new FileReader();
  69. // //For Browsers other than IE.
  70. // if (reader.readAsBinaryString) {
  71. // reader.onload = function (e) {
  72. // ProcessExcel(e.target.result);
  73. // };
  74. // reader.readAsBinaryString(fileUpload.files[0]);
  75. // } else {
  76. // //For IE Browser.
  77. // reader.onload = function (e) {
  78. // var data = "";
  79. // var bytes = new Uint8Array(e.target.result);
  80. // for (var i = 0; i < bytes.byteLength; i++) {
  81. // data += String.fromCharCode(bytes[i]);
  82. // }
  83. // ProcessExcel(data);
  84. // };
  85. // reader.readAsArrayBuffer(fileUpload.files[0]);
  86. // }
  87. // } else {
  88. // alert("This browser does not support HTML5.");
  89. // }
  90. // } else {
  91. // alert("Please upload a valid Excel file.");
  92. // }
  93. // alert("Загружено")
  94. // };
  95. // // </script>