当前位置:首页>Excel>js-xlsx实现excel读取&导出

js-xlsx实现excel读取&导出

  • 2026-03-29 17:17:22
js-xlsx实现excel读取&导出
导出Excel
aoa_to_sheet(二维数组)
function exportWithAoaToSheet() {    // 创建二维数组数据    const aoaData = [        ['姓名''年龄''城市''职业'],        ['张三'25'北京''工程师'],        ['李四'30'上海''设计师'],        ['王五'28'广州''产品经理'],        ['赵六'35'深圳''销售'],        ['孙七'22'杭州''实习生']    ];    // 创建工作簿和工作表    const wb = XLSX.utils.book_new();    const ws = XLSX.utils.aoa_to_sheet(aoaData);    // 将工作表添加到工作簿    XLSX.utils.book_append_sheet(wb, ws, '用户信息');    // 导出文件    XLSX.writeFile(wb, '用户信息_aoa_to_sheet.xlsx');}
json_to_sheet(JSON数据)
function exportWithJsonToSheet() {    // 创建JSON数据    const jsonData = [        { name'张三'age25city'北京'job'工程师' },        { name'李四'age30city'上海'job'设计师' },        { name'王五'age28city'广州'job'产品经理' },        { name'赵六'age35city'深圳'job'销售' },        { name'孙七'age22city'杭州'job'实习生' },        { name'周八'age29city'成都'job'运营' }    ];    // 创建工作簿和工作表    const wb = XLSX.utils.book_new();    const ws = XLSX.utils.json_to_sheet(jsonData);    // 设置每列的列宽,10代表10个字符,注意中文占2个字符    ws['!cols'] = [        { wch10 },        { wch30 },        { wch25 },        { wch10 },        { wch30 },        { wch25 },    ]    // 将工作表添加到工作簿    XLSX.utils.book_append_sheet(wb, ws, '用户信息');    // 导出文件    XLSX.writeFile(wb, '用户信息_json_to_sheet.xlsx');}
table_to_sheet(html)
<tableid="html-table">    <thead>        <tr>            <th>产品名称</th>            <th>价格</th>            <th>库存</th>            <th>分类</th>        </tr>    </thead>    <tbody>        <tr>            <td>笔记本电脑</td>            <td>5999</td>            <td>150</td>            <td>电子产品</td>        </tr>        <tr>            <td>智能手机</td>            <td>3999</td>            <td>280</td>            <td>电子产品</td>        </tr>        <tr>            <td>无线耳机</td>            <td>799</td>            <td>500</td>            <td>电子产品</td>        </tr>        <tr>            <td>机械键盘</td>            <td>499</td>            <td>120</td>            <td>电脑配件</td>        </tr>    </tbody></table>
function exportWithTableToSheet() {    // 获取HTML表格元素    const table = document.getElementById('html-table');    // 创建工作簿和工作表    const wb = XLSX.utils.book_new();    const ws = XLSX.utils.table_to_sheet(table);    // 将工作表添加到工作簿    XLSX.utils.book_append_sheet(wb, ws, '产品信息');    // 导出文件    XLSX.writeFile(wb, '产品信息_table_to_sheet.xlsx');}
csv2sheet
// csv转sheet对象function csv2sheet(csv) {    var sheet = {}; // 将要生成的sheet    csv = csv.split('\n');    csv.forEach(function(row, i) {        row = row.split(',');        if(i == 0) sheet['!ref'] = 'A1:'+String.fromCharCode(65+row.length-1)+(csv.length-1);        row.forEach(function(col, j) {            sheet[String.fromCharCode(65+j)+(i+1)] = {v: col};        });    });    return sheet;}// 将一个sheet转成最终的excel文件的blob对象,然后利用URL.createObjectURL下载function sheet2blob(sheet, sheetName) {    sheetName = sheetName || 'sheet1';    var workbook = {        SheetNames: [sheetName],        Sheets: {}    };    workbook.Sheets[sheetName] = sheet;    // 生成excel的配置项    var wopts = {        bookType'xlsx'// 要生成的文件类型        bookSSTfalse// 是否生成Shared String Table,官方解释是,如果开启生成速度会下降,但在低版本IOS设备上有更好的兼容性        type'binary'    };    var wbout = XLSX.write(workbook, wopts);    var blob = new Blob([s2ab(wbout)], {type:"application/octet-stream"});    // 字符串转ArrayBuffer    function s2ab(s) {        var buf = new ArrayBuffer(s.length);        var view = new Uint8Array(buf);        for (var i=0; i!=s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;        return buf;    }    return blob;}
下载blob都比较熟悉了
function downloadBlob(blob, filename) {     const url = window.URL.createObjectURL(blob);     const a = document.createElement('a');     a.href = url;     a.download = filename;    document.body.appendChild(a);     a.click();     document.body.removeChild(a);    window.URL.revokeObjectURL(url);}
// 传入csv,执行后就会弹出下载框function exportExcel(csv) {    var sheet = csv2sheet(csv);    var blob = sheet2blob(sheet);    downloadBlob(blob, '导出.xlsx');}
读取Excel
<divclass="input-group">    <labelfor="excel-file">选择Excel文件:</label>    <inputtype="file"id="excel-file"accept=".xlsx,.xls" />    <divid="file-info"class="file-info"style="display: none;"></div></div>
// 全局变量,存储读取的Excel数据let workbook = null;let selectedSheetName = null;// 监听文件选择document.getElementById('excel-file').addEventListener('change'function(e) {    const file = e.target.files[0];    if (file) {        const fileInfo = document.getElementById('file-info');        fileInfo.innerHTML = `            <strong>文件名:</strong>${file.name}<br>            <strong>大小:</strong>${(file.size / 1024).toFixed(2)} KB<br>            <strong>类型:</strong>${file.type}        `;        fileInfo.style.display = 'block';        // 读取文件        const reader = new FileReader();        reader.onload = function(e) {            const data = new Uint8Array(e.target.result);            workbook = XLSX.read(data, { type'array' });            selectedSheetName = workbook.SheetNames[0];            alert('文件读取成功!共有 ' + workbook.SheetNames.length + ' 个工作表。');        };        reader.readAsArrayBuffer(file);    }});
sheet_to_csv(csv)
function readAsCSV() {    if (!workbook || !selectedSheetName) {        alert('请先选择Excel文件!');        return;    }    const sheet = workbook.Sheets[selectedSheetName];    const csv = XLSX.utils.sheet_to_csv(sheet);    const output = document.getElementById('csv-output');    output.querySelector('pre').textContent = csv;    output.style.display = 'block';}
csv2table
// 将csv转换成简单的表格,会忽略单元格合并function csv2table(csv) {  var html = "<table>";  var rows = csv.split("\n");  rows.pop(); // 最后一行没用的  rows.forEach(function (row, idx) {    var columns = row.split(",");    columns.unshift(idx + 1); // 添加行索引    if (idx == 0) {      // 添加列索引      html += "<tr>";      for (var i = 0; i < columns.length; i++) {        html +=          "<th>" + (i == 0 ? "" : String.fromCharCode(65 + i - 1)) + "</th>";      }      html += "</tr>";    }    html += "<tr>";    columns.forEach(function (column) {      html += "<td>" + column + "</td>";    });    html += "</tr>";  });  html += "</table>";  return html;}
sheet_to_txt(文本)
function readAsTxt() {    if (!workbook || !selectedSheetName) {        alert('请先选择Excel文件!');        return;    }    const sheet = workbook.Sheets[selectedSheetName];    const txt = XLSX.utils.sheet_to_txt(sheet);    const output = document.getElementById('txt-output');    output.querySelector('pre').textContent = txt;    output.style.display = 'block';}
sheet_to_html
function readAsHtml() {    if (!workbook || !selectedSheetName) {        alert('请先选择Excel文件!');        return;    }    const sheet = workbook.Sheets[selectedSheetName];    const html = XLSX.utils.sheet_to_html(sheet);    const output = document.getElementById('html-output');    output.innerHTML = html;    output.style.display = 'block';}
sheet_to_json
function readAsJson() {    if (!workbook || !selectedSheetName) {        alert('请先选择Excel文件!');        return;    }    const sheet = workbook.Sheets[selectedSheetName];    const json = XLSX.utils.sheet_to_json(sheet);    const output = document.getElementById('json-output');    output.querySelector('pre').textContent = JSON.stringify(json, null2);    output.style.display = 'block';}
知识补充
XLSX.read(data, {type: type});
返回一个叫WorkBook的对象,type主要取值如下:
base64: 以base64方式读取;
binary: BinaryString格式(byte n is data.charCodeAt(n))
string: UTF8编码的字符串;
buffer: nodejs Buffer;
array: Uint8Array,8位无符号数组;
file: 文件的路径(仅nodejs下支持);
读取本地文件
// 读取本地excel文件functionreadWorkbookFromLocalFile(file, callback{    var reader = new FileReader();    reader.onload = function(e{        var data = e.target.result;        var workbook = XLSX.read(data, {type'binary'});        if(callback) callback(workbook);    };    reader.readAsBinaryString(file);}
读取网络文件
// 从网络上读取某个excel文件,url必须同域,否则报错function readWorkbookFromRemoteFile(url, callback) {var xhr = new XMLHttpRequest();	xhr.open('get', url, true);	xhr.responseType = 'arraybuffer';	xhr.onload = function(e) {if(xhr.status == 200) {var data = new Uint8Array(xhr.response)var workbook = XLSX.read(data, {type'array'});if(callback) callback(workbook);		}	};	xhr.send();}
WorkBook对象
SheetNames:[ 'sheet1' , 'sheet2' ,......];
Sheets:
    Sheet1: { !ref:"A1:D3", A1:{t: 's', v: '姓名', }, B1{ }, ......}
Sheet2: { !ref:"A1:D3", A1:{ }, B1{ }, ......}
SheetNames里面保存了所有的sheet名字,然后Sheets则保存了每个sheet的具体内容(我们称之为Sheet Object
每一个Sheet Object表示一张表格,只要不是!开头的都表示普通cell,否则,表示一些特殊含义,具体如下:
sheet['!ref']:表示所有单元格的范围,例如从A1到F8则记录为A1:F8sheet[!merges]:存放一些单元格合并信息,是一个数组,每个数组由包含s和e构成的对象组成,s表示开始,e表示结束,r表示行,c表示列
单元格对象
每一个单元格是一个对象(Cell Object),主要有t、v、r、h、w等字段(详见这里):
t:表示内容类型,s表示string类型,n表示number类型,b表示boolean类型,d表示date类型,等等
v:表示原始值;
f:表示公式,如B2+B3;
h:HTML内容
w:格式化后的内容
r:富文本内容rich text
读取workbook
// 读取 excel文件function outputWorkbook(workbook) {var sheetNames = workbook.SheetNames// 工作表名称集合	sheetNames.forEach(name => {var worksheet = workbook.Sheets[name]; // 只能通过工作表名称来获取指定工作表for(var key in worksheet) {// v是读取单元格的原始值console.log(key, key[0] === '!' ? worksheet[key] : worksheet[key].v);		}	});}
处理单元格合并
var aoa = [    ['主要信息'nullnull'其它信息'], // 特别注意合并的地方后面预留2个null    ['姓名''性别''年龄''注册时间'],    ['张三''男'18new Date()],    ['李四''女'22new Date()]];var sheet = XLSX.utils.aoa_to_sheet(aoa);sheet['!merges'] = [    // 设置A1-C1的单元格合并    {s: {r0c0}, e: {r0c2}}];openDownloadDialog(sheet2blob(sheet), '单元格合并示例.xlsx');
注意被合并的单元格要用null预留出位置,否则后面的内容(本例中是第四列其它信息)会被覆盖

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-04-12 16:21:17 HTTP/2.0 GET : https://h.sjds.net/a/469830.html
  2. 运行时间 : 0.086704s [ 吞吐率:11.53req/s ] 内存消耗:4,421.15kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=7a0a23b79948a6b32500b8c2fe40497e
  1. /yingpanguazai/ssd/ssd1/www/h.sjds.net/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/h.sjds.net/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/h.sjds.net/runtime/temp/ad153693ed39fba6d1bda2fe72512cde.php ( 12.06 KB )
  140. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000533s ] mysql:host=127.0.0.1;port=3306;dbname=h_sjds;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000823s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000296s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000285s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000442s ]
  6. SELECT * FROM `set` [ RunTime:0.000207s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000517s ]
  8. SELECT * FROM `article` WHERE `id` = 469830 LIMIT 1 [ RunTime:0.003090s ]
  9. UPDATE `article` SET `lasttime` = 1775982077 WHERE `id` = 469830 [ RunTime:0.004129s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 65 LIMIT 1 [ RunTime:0.000254s ]
  11. SELECT * FROM `article` WHERE `id` < 469830 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000436s ]
  12. SELECT * FROM `article` WHERE `id` > 469830 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000410s ]
  13. SELECT * FROM `article` WHERE `id` < 469830 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000663s ]
  14. SELECT * FROM `article` WHERE `id` < 469830 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.005151s ]
  15. SELECT * FROM `article` WHERE `id` < 469830 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002398s ]
0.088343s