精华内容
下载资源
问答
  • 网上说将单元格格式设置为文本格式就行了,但是我用excel导出功能时,刚开始设置B列为文本格式,结果导出后excel表数字还是正常显示。 需要自己去手动重置才能正常显示,自己也太清楚原因,琢磨后通过以下两...

    网上说将单元格格式设置为文本格式就行了,但是我用excel导出功能时,刚开始设置B列为文本格式,结果导出后excel表数字还是不正常显示。
    这里写图片描述
    需要自己去手动重置才能正常显示,自己也不太清楚原因,琢磨后通过以下两种方式解决。

    $objPHPExcel->getActiveSheet(0)->getStyle('B')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT);


    第一种方法:不知道是不是因为数据本身是字符串的原因,设置格式改为自定义数字类型后可以了。

    $objPHPExcel->getActiveSheet(0)->getStyle('B')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER);


    第二种方法:在插入数据时设置格式。

     $objPHPExcel->setActiveSheetIndex ( 0 )->setCellValueExplicit('B'.($i + 1),$orders['order_list'][$i-1]['order_sn'],PHPExcel_Cell_DataType::TYPE_STRING);

    以下是具体代码:

    require_once ‘includes/Classes/PHPExcel.php’;
    require_once ‘includes/Classes/PHPExcel/Writer/Excel5.php’;
    require_once ‘includes/Classes/PHPExcel/Writer/Excel2007.php’;
    require_once ‘includes/Classes/PHPExcel/IOFactory.php’;

                $objPHPExcel = new PHPExcel ();
                $objPHPExcel->getProperties ()->setCreator ( "Maarten Balliauw" )->setLastModifiedBy ( "Maarten Balliauw" )->setTitle ( "Office 2007 XLSX Test Document" )->setSubject ( "Office 2007 XLSX Test Document" )->setDescription ( "Test document for Office 2007 XLSX, generated using PHP classes." )->setKeywords ( "office 2007 openxml php" )->setCategory ( "Test result file" );
    
    
                $objPHPExcel->getActiveSheet(0)->getStyle('B')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER);
    
                $objPHPExcel->setActiveSheetIndex ( 0 )->setCellValue ( 'A1', "订单日期" );
                $objPHPExcel->setActiveSheetIndex ( 0 )->setCellValue ( 'B1', "订单编号" );
                $objPHPExcel->setActiveSheetIndex ( 0 )->setCellValue ( 'C1', "公司部门" );
                $objPHPExcel->setActiveSheetIndex ( 0 )->setCellValue ( 'D1', "采购员" );
                $objPHPExcel->setActiveSheetIndex ( 0 )->setCellValue ( 'E1', "金额" );
                $objPHPExcel->setActiveSheetIndex ( 0 )->setCellValue ( 'F1', "支付方式" );
                $objPHPExcel->setActiveSheetIndex ( 0 )->setCellValue ( 'G1', "支付状态" );
                $objPHPExcel->setActiveSheetIndex ( 0 )->setCellValue ( 'H1', "备注" );
    
                $filter['select_list'] = $_REQUEST['select_list'];
                $filter['price_format'] = 'no';
                $orders = get_user_orders_listTable($_SESSION['b_id'],$user_id, $filter, $page);
    
    
                for($i=1 ; $i <$orders['record_count']+2 ; $i++){
                    $objPHPExcel->setActiveSheetIndex ( 0 )->setCellValue ( 'A' . ($i + 1), $orders['order_list'][$i-1]['order_time']);
                    $objPHPExcel->setActiveSheetIndex ( 0 )->setCellValue ( 'B' . ($i + 1), $orders['order_list'][$i-1]['order_sn']);
                    $objPHPExcel->setActiveSheetIndex ( 0 )->setCellValue ( 'C' . ($i + 1), $orders['order_list'][$i-1]['dep_name']);
                    $objPHPExcel->setActiveSheetIndex ( 0 )->setCellValue ( 'D' . ($i + 1), $orders['order_list'][$i-1]['user_name']);
                    if($orders['order_list'][$i-1]['orderType'] == 1){
                        $objPHPExcel->setActiveSheetIndex ( 0 )->setCellValue ( 'E' . ($i + 1), strip_tags($orders['order_list'][$i-1]['total_fee']));
                    }else{
                        $objPHPExcel->setActiveSheetIndex ( 0 )->setCellValue ( 'E' . ($i + 1), strip_tags($orders['order_list'][$i-1]['back_money']));
                    }
                    $objPHPExcel->setActiveSheetIndex ( 0 )->setCellValue ( 'F' . ($i + 1), strip_tags($orders['order_list'][$i-1]['pay_name']));
                    if($orders['order_list'][$i-1]['orderType'] == 1){
                        $objPHPExcel->setActiveSheetIndex ( 0 )->setCellValue ( 'G' . ($i + 1), strip_tags($orders['order_list'][$i-1]['pay_status']));
                    }
                    $objPHPExcel->setActiveSheetIndex ( 0 )->setCellValue ( 'H' . ($i + 1), $orders['order_list'][$i-1]['postscript']);
                }
    
                $objPHPExcel->setActiveSheetIndex ( 0 )->setCellValue ( 'E' . ($i+2), '订单总金额:'.$orders['order_list_amount']);
    
                $objPHPExcel->setActiveSheetIndex ( 0 )->getColumnDimension ( 'A' )->setWidth (20);
                $objPHPExcel->setActiveSheetIndex ( 0 )->getColumnDimension ( 'B' )->setWidth (20);
                $objPHPExcel->setActiveSheetIndex ( 0 )->getColumnDimension ( 'C' )->setWidth (10);
                $objPHPExcel->setActiveSheetIndex ( 0 )->getColumnDimension ( 'D' )->setWidth (20);
                $objPHPExcel->setActiveSheetIndex ( 0 )->getColumnDimension ( 'E' )->setWidth (10);
                $objPHPExcel->setActiveSheetIndex ( 0 )->getColumnDimension ( 'F' )->setWidth (30);
                $objPHPExcel->setActiveSheetIndex ( 0 )->getColumnDimension ( 'G' )->setWidth (10);
                $objPHPExcel->setActiveSheetIndex ( 0 )->getColumnDimension ( 'H' )->setWidth (10);
    
                $filename = "按订单统计导出订单".date ( "Y-m-d" ) . ".xls";
                header ( "Pragma: public" );
                header ( "Expires: 0" );
                header ( "Cache-Control: must-revalidate, post-check=0, pre-check=0" );
                //header ( "Content-Type: application/force-download" );
                //header ( "Content-Type: application/octet-stream" );
                //header ( "Content-Type: application/download" );
                header('Content-Type: application/vnd.ms-excel');
                header ( "Content-Disposition: attachment;filename=$filename " );
                header ( "Content-Transfer-Encoding: binary" );
    
                $objPHPExcel->setActiveSheetIndex ( 0 )->getPageSetup ()->setOrientation ( PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE );
                $objPHPExcel->setActiveSheetIndex ( 0 )->getPageSetup ()->setPaperSize ( PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4 );
                $objWriter = PHPExcel_IOFactory::createWriter ( $objPHPExcel, 'Excel5' );
                $objWriter->save ( 'php://output' );
                exit;
    
    展开全文
  • ``` {field:'orderType', title:'类型',width:80, templet : function(rv){ } ...jquery-2.1.1.min.js:3 Uncaught TypeError: Cannot read property 'createDocumentFragment' of null ...
  • 在Excel表格中输入超过是11个数字长度时显示不正常,比如输入身份证或者银行卡号时。举例如下:输入数据:显示结果:解决方法:在输入数字最前面加上英文单引号即可(注意是英文状态下的单引号)。显示结果:...

            在Excel表格中输入超过是11个数字长度时显示不正常,比如输入身份证或者银行卡号时。举例如下:

    输入数据:

    显示结果:

    解决方法:

    在输入数字最前面加上英文单引号即可(注意是英文状态下的单引号)。


    显示结果:


    展开全文
  • 上面提到的那两种方式都适用于1W以上的数据量导出,速度相当慢,甚至很可能由于内存及超时的原因无法实现导出,但是线上实际需求如订单导出等,随便数量都可能达到1w,甚至百w、千w条。 那么,这个时候,我们要...

    导读:大家都知道使用PHPExcel类库或者Laravel Excel 都可以实现 Excel/CSV 文件导入导出功能,但是在实际开发中,实现是一回事,真正应用又是一回事。

    上面提到的那两种方式都不适用于1W以上的数据量导出,速度相当慢,甚至很可能由于内存及超时的原因无法实现导出,但是线上实际需求如订单导出等,随便数量都可能达到1w,甚至百w、千w条。

    那么,这个时候,我们要实现10w条甚至更大的数据量时,我们就得自己封装方法。

    下面直接上代码。


    封装好的导出方法
    在此控制器中,App\Http\Controllers\ExcelController
    你也可以封装到函数库里,此处我偷懒了

    /**
     * [export 在本地导出csv数据]
     * @param  [type] $cell  [表格字段]
     * @param  [type] $title [文件名]
     * @param  [type] $data  [数据]
     * @return [type]        [description]
     */
    public function localexport($cell,$title,$data){
        set_time_limit(0);
        ini_set('memory_limit', '128M');
        header('Content-Type: application/vnd.ms-execl');
        header('Content-Disposition: attachment;filename="'.$title . '.csv"');
    
        //以写入追加的方式打开
        $fp = fopen('php://output', 'a');
    
        foreach($cell as $key => $item) {
            $celldata[$key] = iconv('UTF-8', 'GBK//IGNORE', $item);
        }
        //将标题写到标准输出中
        fputcsv($fp, $celldata);
        foreach($data as $row){
        foreach($row as $key => $item) {
        //这里必须转码,不然会乱码
        $row[$key] = iconv('UTF-8', 'GBK//IGNORE', $item);
        }
        fputcsv($fp, $row);
        }
        $res = ['file'=>$title];
        return response()->json($res);
    }

    以下是调用导出方法的类内容
    此处主要是为了能引入导出方法(localexport)及获取要导出数据的方法(excelFixeddayWxCharge)

    1.命名空间

    use App\Repositories\DataAnalysis\DataAnalysisRepository;

    use App\Http\Controllers\ExcelController;

    2.构造方法

    protected $DataAnalysis;
    protected $excel;
    
    public function __construct(DataAnalysisRepository $DataAnalysis,ExcelController $excel) {
        $this->DataAnalysis = $DataAnalysis;
        $this->excel = $excel;
    }

    3.调用导出方法的控制器方法

    public function(Request $request){
        //防止数据量大内存不够
        ini_set('memory_limit', '256M');
        //自定义表格字段
        $cell=['消费标识','订单编号','付款金额','入账金额','支付方式','微信支付订单号','优惠金额','商户标识','设备号','状态','消费时间'];
        $res = array();
        $month = $request->input('month','2017-08-01');
        //自定义导出文件名
        $title = $request->input('title','8月微信支付充值订单流水明细');
        //此方法为导出数据来源,在库文件里,你可根据自己需要的数据查数据库
        $res = $DataAnalysis->excelFixeddayWxCharge($month);
    
        $data=[];
        foreach($res as $k => $v){
            $data[$k][] = $v->id;
            //@1此处划重点,在下面进行说明
            $data[$k][] = "\t".$v->order_sn;
            $data[$k][] = $v->amount;
            $data[$k][] = $v->recorded;
            $data[$k][] = ($v->payment==1)?'微信支付':'其他';
            $data[$k][] = "\t".$v->payment_sn;
            $data[$k][] = $v->discount_amount;
            $data[$k][] = $v->userid;
            $data[$k][] = $v->mac_id;
            $data[$k][] = ($v->status==0)?'支付成功':'';
            $data[$k][] = $v->created_at;
        }
    
        $title = $title.date('YmdHis');
        $res = $excel->localexport($cell,$title,$data);//导出表格
    
    });

    注:上文划重点@1处解决长数字显示不全问题

    $data[$k][] = "\t".$v->order_sn;

    此处为订单号,一般订单号都是很长一串数字组成,如0157339980453950,以0开头也比较常见,那么要导出这么一长串数字到csv文件里,本身是以字串形式导出的,但是使用excel表格打开时会自动转为科学计数法,我们知道excel表格在前面拼接个英文引号 ’ 就可以,但在csv是行不通的,这时候我们只需要在前面拼接 ‘\t’即可,当excel打开它的时候就知道它不是数字列。

    展开全文
  • 时候我们在制作表格时候,常常需要序列号,即数字递增,但是有时候我们也需要在某一行后就递增呢,怎么办呢,下面来分享一下设置数字下拉数值不变递增的方法。 问题分析 第一步打开我们要设置数字下拉...

    有时候我们在制作表格的时候,常常需要序列号,即数字递增,但是有时候我们也需要在某一行后就不递增呢,怎么办呢,下面来分享一下设置数字下拉数值不变不递增的方法。

     

    问题分析

    第一步打开我们要设置数字下拉值不变的表格,在序号一列下拉数字,发现数字递增,如下图所示:

     

    方法一:按住 Ctrl 键拖动

    第一步选中“5”那一个单元格,按住“ctrl”键下拉数字,数字值不变,如下图所示:

    第二步如果你想设置数字来回交替的话,选中这几个数字,按住"ctrl"键下拉数字,变成十字箭头再下拉,如下图所示:

     

    方法二:填充区域

    第一步选中某一个区域,需要哪一个数字不变,如下图所示:

    第二步在表格的地址栏里面输入要填充的内容

    第三步按下“Ctrl”+回车键,结果如下图所示:

    Ps:其实也不一定按 Ctrl 是不变,有可能原先本来就不变,此时按 Ctrl 就是会变的。

     

    方法三:复制粘贴

    第一步直接选中不变的数字进行复制粘贴,就完成了,如下图所示

    展开全文
  • EXCEL表格 显示 超长 数字 E+ 变成 文本格式,数字全部显示 选中整列,数据--》分列--》固定列宽度(第二项)--》--》下一步--》下一步--》文本--》完成 搞定 对于身份证号或者电话号码或者准考证号等纯数字...
  • eleemt 表格中 展示进度条以及 超过一百不显示数字问题 因为数据被后台删了 展示无法展示效果了 就是百分比为 500% 文字也要展示为500% 遇到的问题是 percentage值大于100以后 数字部分渲染出现问题 ----主要依靠 ...
  • layUI 表格中if else数字转对应中文显示 在将数据放入表格中进行列表展示时可避免的需要进行类似于字典码转换的工作,比如说数据库中user表中的性别属性,表中为了读取操作的便利一般用0,1来代替女,男这两个字符...
  • Excel日期显示数字,不能正常显示为日期问题:解决办法: 这个问题是被妹子问到的,我作为一个程序员来说想当然的认为是小菜一碟,就是更改数据格式么.然而并卵,没弄好,妥妥的打脸了,后来解决了,这里记录一下这个尴尬...
  • php程序将数据导出至excel表格时发现一个问题,若字符串过长会自动转换为科学计数法。解决此问题只需在添加excel值时拼接一个制表符 如 //值拼接制表符 $value = $value."\t"; require_once __DIR__ ....
  • excel函数 不能正常显示数字

    千次阅读 2019-05-24 15:21:47
    1、在使用execl函数的时候会遇到输入函数之后不能正常显示计算后的结果,仍然显示的是函数 2、主要因为是这一列的单元格格式为“文本”,需要将此格式改成“常规” 完成!!!! ...
  • 我使用Layui静态表格做东西,使用的layui表格是: 这个行边框表格 配上layui静态文件后直接粘贴代码就使用 <table class="layui-table" lay-skin="line"> <colgroup> <col width="150">...
  • ArcMap 打开excel表格数据不显示

    千次阅读 2019-05-14 14:39:24
    问题描述:excel表格数据完整,用Arcmap 导入打开后发现经度一列数据不显示,如下图: 图1 :excel 数据: 图2:导入ArcMap打开表后 解决方式:通过将列修改成数字,文本后始终不能解决问题。最后发现原因...
  • 近期电网数据处理,获得的Excel表格数据是数字文本格式,对数据进行绘图、公式编辑困难,需要将数字文本格式转化为数字格式。 数字文本格式的特点:收据左上角有一个绿色三角,如下图所示 方法一:直接转换...
  • 如果审核状态为1,数据表格显示已审核按钮(淡绿色), 如果审核状态为0,数据表格显示未审核按钮(橙色); 如果扎帐状态为1,数据表格显示已扎帐按钮(淡绿色), 如果扎帐状态为0,数据表格显示未扎帐按钮(橙色); 核心代码...
  • vue根据表格字段不同的状态显示不同的颜色。

    千次阅读 多人点赞 2021-05-25 15:12:48
    业务需求:根据后台返回的数据,对表格中的严重等级和问题状态一下颜色区分。数据很大,大概一年左右的数据,在二级弹窗中,数据滚动的形式。 大家好,我是孙叫兽 加状态前: 我这个使用vue+div循环的实现...
  • 最近项目中遇到了成本计算的,需要显示金额,保存一下,以后方便...一 数字转金额格式显示 //数字转金额格式 format:function(s){ if(/[^0-9\.]/.test(s)) return "invalid value"; s=s.replace(/^(\d*)$/,"$...
  • wps表格怎么去掉数字最后的两位

    千次阅读 2019-10-21 17:45:01
    那么在wps表格里怎么去掉数字最后的两位呢?今天就给大家两个方法和具体步骤,希望帮到大家。 方法一: 1、选中B2单元格,输入“=LEFT(A2,LEN(A2)-2)”, 按回车键,数据就已经改变了,末尾的两位数全都被去掉了...
  • html中表格table的内容居中显示

    万次阅读 2018-11-06 18:16:17
    html中表格table的内容居中显示
  • 网上查了各种方法,貌似不是存在bug,就是无效。 自己想出了一个,史上最简单方法:tbodyHtml += '<td><span> </span>'+v.overComment+'</td>';
  • Vue实现表格的翻页显示功能

    千次阅读 2017-06-29 18:52:59
    下面的显示数字页是用v-for=page in totlepage循环显示的 totlepage:一共的页数。也就是Math.ceil(数据的个数 / 每页显示的个数); page:表示第几页。也就是下面的数组1、2、3、4、5… curren
  • MarkdownPad2 表格不显示处理 1.添加表格的扩展 工具 》选项 》 Markdown 》Markdown处理器 改为 “Markdown(扩展)”即可。 2.在设置的过程中要注册markdownpad2 邮箱: Soar360@live.com 授权秘钥: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 134,404
精华内容 53,761
关键字:

做表格的时候数字不能显示