用PHP解析Excel的XML
简介 我正在使用Excel下载作为用户下载分数表的一种方式, 填写分数,然后将此分数重新上传到 系统. 部分要求将数据库中的数据放入CSV中. 然后在客户端计算机上打开. 问题 我遇到的问题是CSV不允许我使用任何 一种格式.这包括隐藏单元格,使文本粗体等. 因此,将数据输入和从Excel格式(XLS)文档中解析 更有意义...但是从我听到和阅读的内容,这将是 由于不同的Excel版本等,真的很困难. 问题 我听说XML是将数据解析为Excel格式的好方法. 我想知道是否有人使用PHP有任何经验? 有人听说过一个好脚本吗? 有人对不同版本的Excel开放有任何评论吗 ir(甚至是公开办公室或莲花等) 如果我最好的一步,您怎么看? 非常感谢您的帮助! 回复或给我发送电子邮件 汤姆在坦率的天空点com 解决方案 尝试将转化为Excel 您只需要命名... something.xls
0 2023-05-30
编程技术问答社区
php-excel-reader是否支持xlsx?
我正在使用php-excel-reader,但是在读取.xlsx文件时会出现错误.因此,此支持XLSX格式.或其他可用的解决方案. 我的要求只是读取文件(xls, xlsx and ods)并在HTML页面上渲染. PHPExcel似乎不需要编辑Excel文件. 解决方案 从/a>它似乎不起作用.他们将您转介到 phpexcel 如果您想使用XLSL文件.从第一眼看,这似乎是一个更好的选择. 其他解决方案 是的是,PHP支持读取.xlsx文件. 为此,您必须使用phpexcel库. 我已经创建了读取excle文件的脚本,您可以从:其他解决方案 php-excel-Reader不支持XLSX. phpexcel将是必经之路.话虽如此,最好以不太专有的方式存储XSLX文件中的任何内容.我假设您的XSLX不包含属于XLSX文件中的计算,而是可以在某些数据库中存储更好的表数据(TXT,CSV,SQLITE,数据库服务器).
0 2023-05-30
编程技术问答社区
从MySQL创建Excel文件
我正在尝试从MySQL db中的表生成XLS文件,但是当生成Excel文件生成的"您试图打开的文件"时,Excel文件的格式不正确,并且给出了错误.指定的".当文件打开时,数据的格式未正确. 有什么想法我缺少什么?
0 2023-05-30
编程技术问答社区
Spreadsheet_Excel_Writer数据输出被损坏
我使用电子表格_excel_writer生成.xls文件,并且它可以正常工作,直到我必须处理大量数据为止.在某些阶段,它只是写了一些胡说八道的字符,并退出了填充某些列.但是,有些列一直延伸到末端(通常数字数据) 我不太确定XLS文档是如何形成的:行逐行,或者col ...也不是字符串中的错误,因为当我删除某些数据时,错误出现了一个错误进一步. 我认为我的所有代码都不需要 这是一些必需品 $filename = 'file.xls'; $workbook = & new Spreadsheet_Excel_Writer(); $workbook->setVersion(8); $contents =& $workbook->addWorksheet('Logistics'); $contents->setInputEncoding('UTF-8'); $workbook->send($filename); //here is the part where I
0 2023-05-30
编程技术问答社区
将大型XLSX文件转换为CSV,而无需使用phpexcel
我有一个大的xlsx文件,该文件是90MB使用phpexcel它给了我 Warning: simplexml_load_string(): Memory allocation failed : growing buffer 我尝试使用记录的所有方法 ,还更改了php.ini memory_limit = -1. 我正在尝试将XLSX文件转换为CSV文件,以便可以轻松加载它. 有什么方法可以将XLSX文件转换为CSV,而无需使用phpexcel? 解决方案 您可以使用 python : wb = xlrd.open_workbook(os.path.join(filepath, 'result.xls')) sheet = wb.sheet_by_index(0) fp = open(os.path.join(filepath, 'result.csv'), 'wb') wr = csv.writer(fp, quoting=csv.QUOTE_ALL)
0 2023-05-30
编程技术问答社区
将HTML表格转为EXCEL-PHP
我正在以表格格式创建报告. 该报告显示在浏览器上. 我想以Excel格式链接提供下载报告,以便可以在Excel文件中使用该报告. 我该怎么做 解决方案 您可以使用其他解决方案 其他解决方案 我已经使用了一种名为 docraptor 的服务,它确实很棒,可以表现出令人敬畏的html.它还可以对PDF转换进行HTML. ,就在Excel中保留了原始HTML和CSS的外观,那里有更好的解决方案,我还没有看到它们.
0 2023-05-30
编程技术问答社区
laravel phpexcel更新中不明确的类决议
我尝试在安装时使用PHP Excel更新Laravel,我在作曲家中找到了以下警告. 错误: Warning: Ambiguous class resolution, "SettingsController" was found in both "C:\xampp\htdocs\mti\app\controllers\SettingsController.php" and "C:\xampp\htdocs\mti\app\controllers\SettingsControllerBackup.php", the first will be used.Warning: Ambiguous class resolution, "ClassModel" was found in both "C:\xampp\htdocs\mti\app\models\ClassModel.php" and "C:\xampp\htdocs\mti\ app\models\Logi
0 2023-05-30
编程技术问答社区
用PhpSpreadsheet PHP设计单元格边框的样式
我使用phpspreadsheet读取o在excel文件中写入.我想添加到我的Excel a excel风格中,所以我使用了此代码: getActiveSheet()->toArray(null, true, true, true); $sheet = $spreadsheet->getActiveSheet(); $styleArray = array( 'borders' => array( 'outline' => array( 'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Bo
0 2023-05-30
编程技术问答社区
试图访问int类型值的数组偏移 { DefaultValueBinder.php第82行 }
我有一个导出到Excel按钮下载Excel文件. 但是,当我单击时,它显示了错误,例如尝试访问类型int 的数组偏移量 我的代码是: public static function dataTypeForValue($pValue = null) { // Match the value against a few data types if ($pValue === null) { return PHPExcel_Cell_DataType::TYPE_NULL; } elseif ($pValue === '') { return PHPExcel_Cell_DataType::TYPE_STRING; } elseif ($pValue instanceof PHPExcel_RichText) { return PHPExcel_
0 2023-05-30
编程技术问答社区
使用phpspreadsheet库将数据从数组写到工作表上
如何使用phpspreadsheet库来创建数组中的Excel表列标题? 以下是我正在尝试的代码,但它不起作用: // $header is an array containing column headers $header = array("Customer Number", "Customer Name", "Address", "City", "State", "Zip"); $spreadsheet = new Spreadsheet(); $sheet = $spreadsheet->getActiveSheet(); $sheet->fromArray($header, NULL, 'A1'); // redirect output to client browser header('Content-Type: application/vnd.ms-excel'); header('Co
0 2023-05-30
编程技术问答社区
在Laravel中导出Eloquent到Excel时,如何包含列标题?
我试图允许用户使用 laravel excel 文件信息.我当前的网络路线看起来像这样: Route::get('/excel/release', 'ExcelController@create')->name('Create Excel'); 我当前的导出看起来像这样: class ProductExport implements FromQuery { use Exportable; public function __construct(int $id) { $this->id = $id; } public function query() { return ProductList::query()->where('id', $this->id); } } 我当前的控制器看起来像这样: public function create(Request $request
0 2023-05-30
编程技术问答社区
Composer require phpoffice/phpspreadsheet doesn't work
我想使用phpspreadsheet编写脚本.我没有PHP的经验.我正在尝试通过Sudo Composer添加对我的脚本的参考,需要Phpoffice/phpspreadsheet.但这无效.我遇到了错误:在Stallation失败中,删除Composer.json ....如果不知道为什么它不起作用.有什么想法吗? 详细错误: Your requirements could not be resolved to an installable set of packages. Problem 1 - Installation request for phpoffice/phpspreadsheet ^1.0 -> satisfiable by phpoffice/phpspreadsheet[1.0.0]. - phpoffice/phpspreadsheet 1.0.0 requires ext-dom * -> the requested PHP extension d
2 2023-05-30
编程技术问答社区
如何在PHP中解析HTML中的数据并在Excel中导出
我想从HTML页面读取HTML表数据(不使用数据库),然后导出到Excel文件中.我正在使用此JavaScript cede,但它不起作用. 请建议我,我是新来的. JS : function write_to_excel() { str=""; var mytable = document.getElementsByTagName("table")[0]; var rowCount = mytable.rows.length; var colCount = mytable.getElementsByTagName("tr")[0].getElementsByTagName("td").length; var ExcelApp = new ActiveXObject("Excel.Application"); var ExcelSheet = new ActiveXObject("Excel.Sheet"); Ex
0 2023-05-29
编程技术问答社区
IE中的Excel导出问题
我有这个脚本将MySQL数据导出到Excel.我努力了 一切,但我无法让此脚本适用于IE.这 脚本使用Firefox或Chrome下载数据,但即失败, 说: Internet Explorer无法从www.mysite.com下载list_view.php. (这是文件所在的网站). Internet Explorer无法 打开这个互联网站点.所请求的网站要么不可用,要么 找不到.请稍后再试. 这是我使用的代码: $sql = "SELECT...." $result = mysql_query($sql) or die("\nError Retrieving Records.sql: $sqlERROR:".mysql_error()); if(mysql_num_rows($result) > 0){ // build a filename that excel will use to save it as
4 2023-05-29
编程技术问答社区
如何从mysql数据库导出表格到excel?
我在MySQL中有一张桌子,它对于超过100k行来说很大,我想将其导出到Excel.但是,我尝试了phpmyadmin上的Excel功能的导出,但是要丢弃Excel文件需要永远.它甚至都不倾倒.错误始终是"连接是重置".如何做这件事有另一种方法? 解决方案 首先,Excel中的100k行听起来像是一个可怕的主意,当然需要一段时间.这将需要一段时间才能开放.如果您必须这样做: SELECT order_id,product_name,qty FROM orders INTO OUTFILE '/tmp/orders.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' 这应该给您一个名为:/tmp/orders.csv的文件,该文件将在Excel中打开. 其他解决方案 导出的缓慢可能是由于PhpMyAdmin运行的服务器.我定期以惊人的速度出口数百万行. 如果您可以访问数
0 2023-05-29
编程技术问答社区
Webkit和Excel文件(PHPexcel)
我有一个可以下载的excel文件.然后命名为name.xlsx.html,它应该是唯一的.xlsx 在这里您有我的标题: $objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel); $objWriter->save($root.'/application/to_excel/KSW.xlsx'); $this->getResponse()->setHeader('Content-type', 'application/download', true); $this->getResponse()->setHeader('Content-type', 'application/octet-stream', true); $this->getResponse()->setHeader('Content-type',
0 2023-05-29
编程技术问答社区
用php excel reader读取xls日期值
我正在使用phpexcel读取具有" Mar-13"之类的值的Excel文件中的日期单元,但它返回了诸如'41791'之类的整数值.请,我需要做什么,确保日期正确读取? 解决方案 Excel存储日期为串行时间戳(1900年1月1日以来的天数),您可以将其转换为UNIX TIMESTAMP并使用标准PHP Date功能进行格式化 $unix_timestamp = ($cell_value - 25569) * 86400; $phpdate = date("m-d-Y", $unix_timestamp);
0 2023-05-29
编程技术问答社区
用正则表达式验证Excel单元格
我正在研究用户必须插入Excel的单元格ID(例如A1或AB32)的PHP应用程序,该值存储在数据库中以供以后使用,并且我正在尝试尝试使用正则表达式验证单元格格式,但似乎无法正常工作,这是我到目前为止的. ^[a-zA-Z]\d$ 解决方案 有一个很棒的答案 @bartkiers的问题,他在其中构建了一个函数来构建需要匹配X范围与y的范围的这类正性.他的逻辑很好地转移到文本范围内,是正则: ^(?:[A-Z]|[A-Z][A-Z]|[A-X][A-F][A-D])(?:[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9][0-9]|10[0-3][0-9][0-9][0-9][0-9]|104[0-7][0-9][0-9][0-9]|1048[0-4][0-9][0-9]|10485[0-6][0-9]|10485
0 2023-05-29
编程技术问答社区
MaatWebsite的返回值\ excel \ Sheet \ Sheet :: maparrayblerow()必须是类型阵列,null返回
我正在与Laravel 5.8一起使用PHP 7.4来开发我的项目,在这个项目中,我想从一个名为students的表中制作一个Excel文件. 所以这是我所做的: i在终端上输入composer require maatwebsite/excel并下载了包. i在providers at config/app.php中添加\Maatwebsite\Excel\ExcelServiceProvider::class,,'Excel' => \Maatwebsite\Excel\Facades\Excel::class, AS aliases. 然后我将此方法添加到模型Student.php: public static function getCustom() { $records = DB::table('students')->select('mbr_id','mbr_mobile','mbr_post_code','mbr_add
0 2023-05-29
编程技术问答社区
如何在每次迭代时将一个字母递增N次并存储在一个数组中?
$letter = array(); for ($i = 'A'; $i !== 'ZZ'; $i++){ $letter[] .= $i; } print_r($letter); 从上面的脚本我从A,B,C,D ... ZZ. 现在,我想将其作为A,C,E,G,I ... ZZ. ( 2 步骤,而不是 1 ) 我需要方向来做到这一点. 解决方案 ord()由于您的端字符串长两个字符. 返回字符串的第一个字符的ASCII值. 在 从我的测试中,您需要检查end字符串是否无法"踩踏". perl式字符增量是一种很酷的方法,但它是一种单步方法.因此,内部循环在必要时可以帮助它.实际上,这不是一个麻烦,实际上,这很有用,因为我们需要检查循环是否应在每个步骤上打破. 代码:( function excelCols($letter,$end,$step=1){ // function doesn't check that $end is "l
0 2023-05-29
编程技术问答社区