Drupal上把phpExcel生成的Excel文件保存到Drupal文件系统

1.为了避免与原文件系统混淆,手动创建保存文件夹(手动保存到文件系统,记得检查重名并把重名文件修改)

$uri = 'public://your_folder/';
$file_path = drupal_realpath($uri);
$filename = $opt['filename'].'.xls';
$file_exist_path = $file_path.'/'.$filename;
if(!is_dir($file_path)) {//如果不存在目录则创建目录
    drupal_mkdir($uri);
}

2.将PHPExcel生成的excel文件保存到目录下

$objPHPExcel->setActiveSheetIndex(0);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save($file_exist_path);//保存excel文件

3.在文件系统中插入对应保存文件信息,并得到文件fid

global $user;
$insert = db_insert('file_managed');
$insert->fields(array(
    'uid'       => $user->uid,
    'filename'  => $filename,
    'uri'       => $uri .'/'. $filename,
    'filemime'  => 'application/vnd.ms-excel',
    'filesize'  => $filesize,
    'status'    => 1,
    'timestamp' => REQUEST_TIME
));
$fid = $insert->execute();


4.把fid加入到 file_usage表

$file = file_load($fid);
file_usage_add($file, 'module', 'type', $fid);


5.现在就能通过fid来操作PHPExcel文件生成的excel文件了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值