要做在线Excel表格编辑功能,Excel的xls文件格式的解析就是个问题,毕竟这是微软Office的私有专利格式.
所以要做的话还是用通用的csv(Comma Separated Value,逗号分隔值)格式吧.
各种办公软件都能识别csv表格,其实就是以特定分隔符(比如逗号)分隔单元格的表格.
拿PHP来说,fgetcsv读入csv表格,返回一个数组,
然后foreach输出成HTML的<table>,这步操作几行代码就能实现,非常简单.
工作量主要还在于浏览器前端,建议你用jQuery进行DOM和AJAX操作,
要实现phpMyAdmin那样细粒度双击单元格编辑,然后AJAX提交也不难,
或者整个表格写好后一次性$("form").serialize();然后AJAX提交也可以.
CSV表格的几条规则:
1.每一行的单元格内容之间用逗号分隔.
2.如果单元格的内容本身有逗号,这个单元格的内容将会用引号包含.
3.如果单元格的内容本身有引号:
(1)引号不在首或尾,这个单元格内容不会被引号包含.
(2)引号在首或尾,这个单元格内容会被引号包含,并且原来首尾的引号会被转义.
读写CSV
<?php header('Content-Type: text/plain; charset=utf-8'); //导出CSV表格:数组转CSV $arr = array ( array('ab', 'cd'), array('"a,b"', '"c,d"'), ); $fp = fopen('file.csv', 'w'); foreach ($arr as $row) { //将一行格式化为CSV并写入文件指针 fputcsv($fp, $row); } fclose($fp); unset($arr); //导入CSV表格:CSV转数组 $fp = fopen('file.csv', 'r'); while ( ($row = fgetcsv($fp)) !== FALSE ) { //从文件指针中读入一行并解析CSV $arr[] = $row; } fclose($fp); var_export($arr);
另存为一个独立文件
download.php:
<?php $list = array ( 'aaa,bbb,ccc,dddd', '123,456,789', '"aaa","bbb"' ); session_start(); $_SESSION['outputArray']=$list; ?> <a href="test.php" target="_blank">下载csv文件</a>
<?php session_start(); $outputArray=$_SESSION['outputArray']; header('Content-Type: application/csv'); header('Content-Disposition: attachment;filename="sales.csv"'); $output=fopen('php://output','w') or die("can not open"); foreach ($outputArray as $line) { fputcsv($output, split(',', $line)); } fclose($output) or die("can not close"); ?>
<?php $list = array ( 'aaa,bbb,ccc,dddd', '123,456,789', '"aaa","bbb"' ); $fp = fopen('file.csv', 'w'); foreach ($list as $line) { fputcsv($fp, split(',', $line)); } fclose($fp); ?>
本文向大家介绍JavaScript表格常用操作方法汇总,包括了JavaScript表格常用操作方法汇总的使用技巧和注意事项,需要的朋友参考一下 本文实例汇总了JavaScript表格常用操作方法。分享给大家供大家参考。具体如下: 希望本文所述对大家的javascript程序设计有所帮助。
本文向大家介绍PHP文件操作方法汇总,包括了PHP文件操作方法汇总的使用技巧和注意事项,需要的朋友参考一下 在data文件中写入数据: 写入成功后可以在页面看到“OK” 接下来读取data文件里的数据 如果有多行数据该怎么读取? 方法一 while: 方法二 file_get_contents(): 以上所述就是本文的全部内容了,希望大家能够喜欢。
本文向大家介绍php操作csv文件代码实例汇总,包括了php操作csv文件代码实例汇总的使用技巧和注意事项,需要的朋友参考一下 1.读取csv数据, 输出到sales.csv文件中: 2. 读取csv数据, 使用特殊的流输出 3. 读取csv数据, 输出到缓冲中 4. 读取csv文件的数据 5. 下载CSV文件 6.读取CSV文件指定行和区间行
本文向大家介绍PHP常用技术文之文件操作和目录操作总结,包括了PHP常用技术文之文件操作和目录操作总结的使用技巧和注意事项,需要的朋友参考一下 一、基本文件的操作 文件的基本操作有:文件判断、目录判断、文件大小、读写性判断、存在性判断及文件时间等 结果: 二、目录的操作 目录的操作有:遍历目录、删除、复制、大小统计等 1、遍历目录 结果 2、统计目录大小 结果: 3、删除目录 删除成功的提示信息
本文向大家介绍Node.js文件操作方法汇总,包括了Node.js文件操作方法汇总的使用技巧和注意事项,需要的朋友参考一下 Node.js和其他语言一样,也有文件操作。先不说node.js中的文件操作,其他语言的文件操作一般也都是有打开、关闭、读、写、文件信息、新建删除目录、删除文件、检测文件路径等。在node.js中也是一样,也都是这些功能,可能就是api与其他语言不太一样。 一、同步、异步打开
本文向大家介绍pandas处理csv文件的方法步骤,包括了pandas处理csv文件的方法步骤的使用技巧和注意事项,需要的朋友参考一下 一、我的需求 对于这样的一个 csv 表,需要将其 (1)将营业部名称和日期和股票代码进行拼接 (2)对于除了买入金额不同的的数据需要将它们的买入金额相加,每个买入金额乘以买卖序号的符号表示该营业名称对应的买入金额 比如:xx公司,20190731,1,股票1,4