关于导出后出错的问题

https://segmentfault.com/q/1010000005330214

https://blog.csdn.net/ohmygirl/article/details/6907946

我遇到了文件损坏,经过百度,大神说是缓冲区的问题,在导出函数的第一行加上

ob_end_clean();

相关介绍

https://blog.csdn.net/soonfly/article/details/52103795

扩展下载链接

https://pan.baidu.com/s/1yPzl7dKZ-CT6DNi9SUt6kg

本文章摘取了一下文献

http://www.thinkphp.cn/code/1257.html

thinkphp3.2和phpexcel导入
http://www.thinkphp.cn/code/2124.html

thinkphp3.2和phpexcel导入,出现PHPExcel_RichText object解决办法
http://www.thinkphp.cn/code/2143.html

thinkphp3.2和phpexcel导出带生成图片完美案例
http://www.thinkphp.cn/code/2112.html

第一步:下载PHPEXCEL文件(这个可以百度下载)

第二步:解压这个文件,把这里全部的文件复制到 ThinkPHP/Library/Org/Util
这个文件夹下面(如图所示), 并把 PHPExcel.php 这个文件改名为 PHPExcel.class.php

第三步:如何使用

通过上面的代码,已经成功导出一下excel文件

生成excel的代码如下和上面图片类似

public function imgexcel(){     ob_end_clean();import("Org.Util.PHPExcel");$excel = new \PHPExcel();$excel->getProperties()->setCreator("JAMES")->setLastModifiedBy("JAMES")->setTitle("zltrans")->setSubject("Dorder")->setDescription("Dorder List")->setKeywords("Dorder")->setCategory("Test result file");$excel->setActiveSheetIndex(0)->setCellValue("A1","hello")->setCellValue("A3","龙龙")->setCellValue("B2","你好")->setCellValue("B4","世界");import("Org.Util.PHPExcel.IOFactory");$excelWriter = \PHPExcel_IOFactory::createWriter($excel,'Excel2007');//转码文件名,防止汉字乱码$filename = iconv("utf-8","gb2312","guagua龙.xlsx");$excelWriter->save($filename);//使用下载方法一的时候注释$this->force_download($filename);//使用下载方法一的时候注释
}

下载方法一:

header('Content-Type: application/vnd.ms-excel');header("Content-Disposition: attachment;filename=\"$filename\"");//文件名header('Cache-Control: max-age=0');$objWriter = \PHPExcel_IOFactory::createWriter($excel, 'Excel2007');$objWriter->save('php://output'); //文件通过浏览器下载

下载方法二:

导出到了服务器上,如果需要下载到客户端的话如下:

//下面两个是下载需要的函数
public function force_download($filename){if ($filename == ''){return FALSE;}if (FALSE === strpos($filename, '.')){return FALSE;}$x = explode('.', $filename);$extension = end($x);$mimes =$this->getMimes();// Set a default mime if we can't find itif ( ! isset($mimes[$extension])){$mime = 'application/octet-stream';}else{$mime = (is_array($mimes[$extension])) ? $mimes[$extension][0] : $mimes[$extension];}// Generate the server headersif (strpos($_SERVER['HTTP_USER_AGENT'], "MSIE") !== FALSE){header('Content-Type: "'.$mime.'"');header('Content-Disposition: attachment; filename="'.$filename.'"');header('Expires: 0');header('Cache-Control: must-revalidate, post-check=0, pre-check=0');header("Content-Transfer-Encoding: binary");header('Pragma: public');header("Content-Length: ".filesize($filename));}else{header('Content-Type: "'.$mime.'"');header('Content-Disposition: attachment; filename="'.$filename.'"');header("Content-Transfer-Encoding: binary");header('Expires: 0');header('Pragma: no-cache');header("Content-Length: ".filesize($filename));}readfile($filename);}private function getMimes(){return $mimes = array(    'hqx'    =>    'application/mac-binhex40','cpt'    =>    'application/mac-compactpro','csv'    =>    array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel'),'bin'    =>    'application/macbinary','dms'    =>    'application/octet-stream','lha'    =>    'application/octet-stream','lzh'    =>    'application/octet-stream','exe'    =>    array('application/octet-stream', 'application/x-msdownload'),'class'    =>    'application/octet-stream','psd'    =>    'application/x-photoshop','so'    =>    'application/octet-stream','sea'    =>    'application/octet-stream','dll'    =>    'application/octet-stream','oda'    =>    'application/oda','pdf'    =>    array('application/pdf', 'application/x-download'),'ai'    =>    'application/postscript','eps'    =>    'application/postscript','ps'    =>    'application/postscript','smi'    =>    'application/smil','smil'    =>    'application/smil','mif'    =>    'application/vnd.mif','xls'    =>    array('application/excel', 'application/vnd.ms-excel', 'application/msexcel'),'ppt'    =>    array('application/powerpoint', 'application/vnd.ms-powerpoint'),'wbxml'    =>    'application/wbxml','wmlc'    =>    'application/wmlc','dcr'    =>    'application/x-director','dir'    =>    'application/x-director','dxr'    =>    'application/x-director','dvi'    =>    'application/x-dvi','gtar'    =>    'application/x-gtar','gz'    =>    'application/x-gzip','php'    =>    'application/x-httpd-php','php4'    =>    'application/x-httpd-php','php3'    =>    'application/x-httpd-php','phtml'    =>    'application/x-httpd-php','phps'    =>    'application/x-httpd-php-source','js'    =>    'application/x-javascript','swf'    =>    'application/x-shockwave-flash','sit'    =>    'application/x-stuffit','tar'    =>    'application/x-tar','tgz'    =>    array('application/x-tar', 'application/x-gzip-compressed'),'xhtml'    =>    'application/xhtml+xml','xht'    =>    'application/xhtml+xml','zip'    =>  array('application/x-zip', 'application/zip', 'application/x-zip-compressed'),'mid'    =>    'audio/midi','midi'    =>    'audio/midi','mpga'    =>    'audio/mpeg','mp2'    =>    'audio/mpeg','mp3'    =>    array('audio/mpeg', 'audio/mpg', 'audio/mpeg3', 'audio/mp3'),'aif'    =>    'audio/x-aiff','aiff'    =>    'audio/x-aiff','aifc'    =>    'audio/x-aiff','ram'    =>    'audio/x-pn-realaudio','rm'    =>    'audio/x-pn-realaudio','rpm'    =>    'audio/x-pn-realaudio-plugin','ra'    =>    'audio/x-realaudio','rv'    =>    'video/vnd.rn-realvideo','wav'    =>    array('audio/x-wav', 'audio/wave', 'audio/wav'),'bmp'    =>    array('image/bmp', 'image/x-windows-bmp'),'gif'    =>    'image/gif','jpeg'    =>    array('image/jpeg', 'image/pjpeg'),'jpg'    =>    array('image/jpeg', 'image/pjpeg'),'jpe'    =>    array('image/jpeg', 'image/pjpeg'),'png'    =>    array('image/png',  'image/x-png'),'tiff'    =>    'image/tiff','tif'    =>    'image/tiff','css'    =>    'text/css','html'    =>    'text/html','htm'    =>    'text/html','shtml'    =>    'text/html','txt'    =>    'text/plain','text'    =>    'text/plain','log'    =>    array('text/plain', 'text/x-log'),'rtx'    =>    'text/richtext','rtf'    =>    'text/rtf','xml'    =>    'text/xml','xsl'    =>    'text/xml','mpeg'    =>    'video/mpeg','mpg'    =>    'video/mpeg','mpe'    =>    'video/mpeg','qt'    =>    'video/quicktime','mov'    =>    'video/quicktime','avi'    =>    'video/x-msvideo','movie'    =>    'video/x-sgi-movie','doc'    =>    'application/msword','docx'    =>    array('application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/zip'),'xlsx'    =>    array('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip'),'word'    =>    array('application/msword', 'application/octet-stream'),'xl'    =>    'application/excel','eml'    =>    'message/rfc822','json' => array('application/json', 'text/json'));}

下面是导出excel带图片的代码

这个代码的使用环境是图片全部是网络图片,需要下载下来,然后在将图片放进excel,如果是本地图片可以直接169行参数写完整的图片路径即可

以下代码是写在thingphp3.2的function.php里面的

  1 /**
  2      * 判断文件夹是否存在,不存在则创建,支持递归试的多目录创建
  3      * @param  [type]  $dir [description]
  4      * @return boolean      [description]
  5      */
  6     function z_is_dir($dir=''){
  7         $dir = "./excelimgs";
  8         if(empty($dir)){
  9             return false;
 10         }else{
 11             if(is_dir($dir)){
 12                 return true;
 13             }else{
 14                 $dir = iconv("UTF-8","GBK",$dir);
 15                 return mkdir($dir,0777,true);
 16             }
 17         }
 18     }
 19     /**
 20      * 下载图片到指定目录
 21      * @return [type] [description]
 22      */
 23     function imgdown($url='',$dir=''){
 24         if(!preg_match('/\/([^\/]+\.[a-z]{3,4})$/i',$url,$matches)){
 25             return false;
 26         }
 27         //判断目录有效性
 28         if(!z_is_dir($dir)){
 29             return false;
 30         }
 31
 32         $image_name = strToLower($matches[1]);
 33         $ch = curl_init ($url);
 34         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 35         curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
 36         $img = curl_exec ($ch);
 37         curl_close ($ch);
 38         $fp = fopen($dir.$image_name,'w');//保存的文件名称用的是链接里面的名称
 39         // dump($image_name);die;
 40         fwrite($fp, $img);
 41         fclose($fp);
 42     }
 43     /**
 44      * excel导出  图片文件
 45      * @return [type] [description]
 46      */
 47     function look_down($data='',$dir=''){
 48         //以下是数据格式
 49 //      $data[] = array(
 50 //          'addtime'=>' 2018/03/05 12:23',
 51 //          'address'=>'平顶山卫东区新华路南环路明珠花园',
 52 //          'car_code'=>'豫D38880',
 53 //          'shenhe'=>'小明',
 54 //          'zhidan'=>'小强',
 55 //          'price'=>'5',
 56 //          'img'=>array(
 57 //              '图片链接http://p6t.clouddn.com/5acdb30.png',
 58 //              '图片链接http://p6t.clouddn.com/5acdb30.png',
 59 //              '图片链接http://p6t.clouddn.com/5acdb30.png',
 60 //              '图片链接http://p6t.clouddn.com/5acdb30.png',
 61 //              '图片链接http://p6t.clouddn.com/5acdb30.png'
 62 //              )
 63 //          );
 64 //      $data[] = array(
 65 //          'addtime'=>' 2018/08/05 12:23',
 66 //          'address'=>'郑州市卫东区新华路南环路明珠花园',
 67 //          'car_code'=>'豫D38X80',
 68 //          'shenhe'=>'小红',
 69 //          'zhidan'=>'小刚',
 70 //          'price'=>'5',
 71 //          'img'=>array(
 72 //              '图片链接http://p6t.clouddn.com/5acdb30.png',
 73 //              '图片链接http://p6t.clouddn.com/5acdb30.png',
 74 //              '图片链接http://p6t.clouddn.com/5acdb30.png',
 75 //              '图片链接http://p6t.clouddn.com/5acdb30.png',
 76 //              '图片链接http://p6t.clouddn.com/5acdb30.png'
 77 //              )
 78 //          );
 79         if(empty($data) || empty($dir)){
 80             E('数据或者路径不能为空;数据格式请进入本方法看注释;路径需要根目录开始的路径,如:./excelimgs/');
 81             return false;
 82         }
 83         //将所有包含的图片下载下来
 84         foreach ($data as $k => $v) {
 85             $imgs = $v['img'];
 86             $img_str = null;
 87             foreach ($imgs as $kk => $vv) {
 88                 $this->imgdown($vv,$dir);
 89                 //在下载的过程中将文件名单独摘出来,用于生成excel的时候要的文件名
 90                 $img_str[] = substr($vv,strripos($vv,"/")+1);
 91             }
 92             $data[$k]['img_str'] = $img_str;
 93         }
 94
 95         // 导出Exl
 96         import("Org.Util.PHPExcel");
 97         import("Org.Util.PHPExcel.Worksheet.Drawing");
 98         import("Org.Util.PHPExcel.Writer.Excel2007");
 99         $objPHPExcel = new \PHPExcel();
100
101         $objWriter = new \PHPExcel_Writer_Excel2007($objPHPExcel);
102
103         $objActSheet = $objPHPExcel->getActiveSheet();
104
105         // 水平居中(位置很重要,建议在最初始位置)
106         $objPHPExcel->setActiveSheetIndex(0)->getStyle('A')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
107         $objPHPExcel->setActiveSheetIndex(0)->getStyle('B')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
108         $objPHPExcel->setActiveSheetIndex(0)->getStyle('C')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
109         $objPHPExcel->setActiveSheetIndex(0)->getStyle('D')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
110         $objPHPExcel->setActiveSheetIndex(0)->getStyle('E')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
111         $objPHPExcel->setActiveSheetIndex(0)->getStyle('F')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
112         $objPHPExcel->setActiveSheetIndex(0)->getStyle('G')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
113         $objPHPExcel->setActiveSheetIndex(0)->getStyle('H')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
114         $objPHPExcel->setActiveSheetIndex(0)->getStyle('I')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
115         $objPHPExcel->setActiveSheetIndex(0)->getStyle('J')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
116         $objPHPExcel->setActiveSheetIndex(0)->getStyle('K')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
117
118         $objActSheet->setCellValue('A1', '时间');
119         $objActSheet->setCellValue('B1', '地点');
120         $objActSheet->setCellValue('C1', '车牌号');
121         $objActSheet->setCellValue('D1', '制单人');
122         $objActSheet->setCellValue('E1', '审核人');
123         $objActSheet->setCellValue('F1', '奖励金');
124         $objActSheet->setCellValue('G1', '图片');
125         $objActSheet->setCellValue('H1', '图片');
126         $objActSheet->setCellValue('I1', '图片');
127         $objActSheet->setCellValue('J1', '图片');
128         $objActSheet->setCellValue('K1', '图片');
129         // 设置个表格宽度
130         $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(20);
131         $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(80);
132         $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(30);
133         $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(20);
134         $objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(20);
135         $objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(20);
136         $objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(30);
137         $objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(30);
138         $objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth(30);
139         $objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth(30);
140         $objPHPExcel->getActiveSheet()->getColumnDimension('K')->setWidth(30);
141
142         // 垂直居中
143         $objPHPExcel->getActiveSheet()->getStyle('A')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
144         $objPHPExcel->getActiveSheet()->getStyle('B')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
145         $objPHPExcel->getActiveSheet()->getStyle('C')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
146         $objPHPExcel->getActiveSheet()->getStyle('D')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
147         $objPHPExcel->getActiveSheet()->getStyle('E')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
148         $objPHPExcel->getActiveSheet()->getStyle('F')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
149         $objPHPExcel->getActiveSheet()->getStyle('G')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
150         $objPHPExcel->getActiveSheet()->getStyle('H')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
151         $objPHPExcel->getActiveSheet()->getStyle('I')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
152         $objPHPExcel->getActiveSheet()->getStyle('J')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
153         $objPHPExcel->getActiveSheet()->getStyle('K')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
154
155         foreach($data as $k=>$v){
156             $k +=2;
157             // 表格内容
158             $objActSheet->setCellValue('A'.$k, $v['addtime']);
159             $objActSheet->setCellValue('B'.$k, $v['address']);
160             $objActSheet->setCellValue('C'.$k, $v['car_code']);
161             $objActSheet->setCellValue('D'.$k, $v['shenhe']);
162             $objActSheet->setCellValue('E'.$k, $v['zhidan']);
163             $objActSheet->setCellValue('F'.$k, $v['price']."元");
164             $lies = array('G','H','I','J','K');
165             $lies_index = 0;
166             foreach ($v['img_str'] as $kk => $vv) {
167                 // 图片生成
168                 $objDrawing[$k] = new \PHPExcel_Worksheet_Drawing();
169                 $objDrawing[$k]->setPath($dir.$vv);
170                 // 设置宽度高度
171                 $objDrawing[$k]->setHeight(80);//照片高度
172                 $objDrawing[$k]->setWidth(80); //照片宽度
173                 /*设置图片要插入的单元格*/
174                 $objDrawing[$k]->setCoordinates($lies[$lies_index].$k);
175                 // 图片偏移距离
176                 $objDrawing[$k]->setOffsetX(0);
177                 $objDrawing[$k]->setOffsetY(0);
178                 $objDrawing[$k]->setWorksheet($objPHPExcel->getActiveSheet());
179                 $lies_index++;
180             }
181
182
183             // 表格高度
184             $objActSheet->getRowDimension($k)->setRowHeight(80);
185
186         }
187
188         $fileName = '报价表';
189         $date = date("Y-m-d",time());
190         $fileName .= "_{$date}.xls";
191         $fileName = iconv("utf-8", "gb2312", $fileName);
192         //重命名表
193         // $objPHPExcel->getActiveSheet()->setTitle('test');
194         //设置活动单指数到第一个表,所以Excel打开这是第一个表
195         $objPHPExcel->setActiveSheetIndex(0);
196         header('Content-Type: application/vnd.ms-excel');
197         header("Content-Disposition: attachment;filename=\"$fileName\"");
198         header('Cache-Control: max-age=0');
199         $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
200         $objWriter->save('php://output'); //文件通过浏览器下载
201         // END
202     }

如果文件损坏,可以在导出的方法的第一行加入ob_end_clean();

转载于:https://www.cnblogs.com/zonglonglong/p/8819989.html

thinkphp3.2.3 excel导出,下载文件,包含图片相关推荐

  1. easyexcel结合zip 导出压缩文件(包含多个excel)

    easyexcel结合zip 导出压缩文件(包含多个excel) 直接上代码- 分批次查询处理示例代码 int limit = 1;int pageNum = 500;ByteArrayOutputS ...

  2. SpringBoot打成jar包部署,Excel模板下载文件遇到的问题

    问题一. 读取resource 目录下文件时出现路径找不到 在本机测试都很顺利,当打包jar文件放到服务器上测试的时候发现了类似下面的异常信息: java.nio.file.NoSuchFileExc ...

  3. Python爬虫之scrapy下载文件和图片

    Python爬虫之scrapy下载文件和图片 一:pipeline 二:使用scrapy下载图片 2.1 创建scrapy项目 1.2 创建爬虫 1.3 配置文件设置 1.4 编写启动文件 1.5 爬 ...

  4. 爬虫框架Scrapy(10)下载文件与图片

    文章目录 下载文件与图片 (一)FilesPipeline 和 ImagesPipeline 1. FilesPipeline 使用说明 2. ImagesPipeline 使用说明 (二)项目实例: ...

  5. [转]使用URLConnection下载文件或图片并保存到本地

    Code import java.io.FileOutputStream;    import java.io.InputStream;    import java.io.OutputStream; ...

  6. linux 导出 excel文件名乱码,excel导出,文件名称中文乱码问题 · 大腿的博客

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 记录一个excel导出遇见的中文名称的问题 接到项目需要有excel的导入导出功能,基于poi实现还是挺简单的,文件的导 ...

  7. SpringBoot打成jar包部署,Excel模板下载文件损坏,提示恢复问题处理

    Spring Boot 静态资源Excel模板文件下载遇到的坑 问题描述: 使用spring boot,在resource/static目录下,有Excel模板文件, 需要提供给用户下载,用于数据的导 ...

  8. java完成excel导出下载

    废话不多说,直接上代码! 一.添加依赖 <!-- excel导出相关依赖 --><dependency><groupId>org.apache.poi</gr ...

  9. java excel api 下载文件_java excel api实现输出EXCEL文件下载

    java excel api实现输出EXCEL文件下载 [// 下载本地文件String fileName = 苹果知识库授权网点整理汇总副本20130210.xls.toString(); // 文 ...

最新文章

  1. ORACLE 配置文件
  2. 程序员到项目经理:从内而外的提升不看后悔去吧
  3. Django(part14)--模板的继承
  4. 'parent.relativePath' points at no local POM
  5. crontab 执行时间与系统时间不一致问题解决
  6. Deploy Oracle 10.2.0.5 DataGuard on Red Hat Enterprise Linux 6.4
  7. C++自学14:关系运算符(bool/std::boolalpha)
  8. 全向轮机器人运动模型及应用分析(图片版)
  9. 【pwnable.kr】passcode
  10. 8-ORACLE四种关闭方式
  11. 玩转大数据系列之一:数据采集与同步
  12. 基于 Multiple Teacher Single Student 框架的多领域对话模型
  13. html静态页面作跳转
  14. php 源码 flash,Flash小游戏PHP源码
  15. linux 监听 ipv6,zabbix 监控 ipv6
  16. 你值得拥有的Mac PS滤镜插件和特效处理软件合集,不要错过!
  17. CSR8811A12-ICXR-R蓝牙芯片
  18. Efficient Net_V2
  19. IE浏览器设置UserAgent
  20. 音频合并的步骤有哪些

热门文章

  1. Linux创建文件的五种方法,Linux常用命令 - 五种创建文件命令详解
  2. linux java jstat_JDK自带工具之jstat
  3. 基于ARM的LCD(800*480)触摸屏实现音频、视频播放、图像显示功能
  4. html自动跳转源码,两款404页面自动跳转源码html
  5. L2-028 秀恩爱分得快 (25分) C++
  6. java ajax面试题_几道Web/Ajax的笔试题
  7. java就业前景_2020年java就业前景
  8. gta4 oracle_中关村在线 - 画质设定保守些:MSAAx2/x4区别不大_DIY新手说明书15:CPU不再是GTA5瓶颈?...
  9. Houdini如何创建置换贴图?
  10. openpyxl模块安装及使用