精华内容
下载资源
问答
  • 压缩图片/宽高,动态控制单元格高度宽度 1.word 需要模板 手动创建word excel .向word中插入excel附件并另存为 word xml 格式 替换符替换 文字 和附件base64内容 有两个binaryData标签 一个是base64,另一个是...

    word中加入excel附件
    excel单元格中插入图片
    word freemarker
    Excel poi 制作, jxl 插入图片

    压缩图片/宽高,动态控制单元格高度与宽度
    在这里插入图片描述

    1.word 需要模板
    手动创建word excel .向word中插入excel附件并另存为 word xml 格式
    在这里插入图片描述

    在这里插入图片描述
    替换符替换 文字 和附件base64内容
    有两个binaryData标签 一个是base64,另一个是附件显示的样式
    在这里插入图片描述

    在这里插入图片描述

    
      /**
         * word附件导出
         */
        @ResponseBody
        @RequestMapping(value = "/generateReports", method = RequestMethod.GET)
        public void generateReports(HttpServletRequest request, HttpServletResponse response) throws Exception {
            //查询数据
            Map condition = getSelection(request);
       
            //生成excel
            Long num = System.currentTimeMillis();
            String filename = num + ".xls";
            sendExcel(request, response, filename);
            //制作word
            WordUtil wordUtil = new WordUtil();
            Map<String, Object> dataMap = new HashMap<String, Object>();
            /**wordTemplate*/
            Department dept = (Department) request.getSession().getAttribute("CURRENT_DEPT");
    //        List<Map> mapList = sortingService.findShopInfoBySort2(condition);
           // if (mapList.size() > 0) {
                //向word中添加数据map
                Date startTime = DateUtil.parseTime(start);
                Date endTime = DateUtil.parseTime(end);
                String startTime1 = new SimpleDateFormat("yyyy年MM月dd日").format(startTime);
                String endTime1 = new SimpleDateFormat("yyyy年MM月dd日").format(endTime);
                dataMap.put("startTime", startTime1);
                dataMap.put("endTime", endTime1);
          //  }
            //调试
    //        Thread.sleep(1000);
    //        dataMap.put("excelEnclosure", wordUtil.getFileStr(filePath + "副本" + filename));
    
            //写入
            try {
                response.setCharacterEncoding("UTF-8");
                response.setHeader("content-Type", "application/msword");
                response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode("函告" + num + ".doc", "UTF-8"));
            } catch (Exception ex) {
                ex.printStackTrace();
            }
            wordUtil.createDoc(dataMap, response, "wordTemplate", filePath + "函告" + num + ".doc");
    
            //删除临时文件
            File file = new File(filePath + "副本" + filename);
            if (file.exists()) {
                file.delete();
            }
        }
    
    public class WordUtil {
    	public Configuration configure=null;
    	public WordUtil(){
    //       configure=new Configuration(Configuration.VERSION_2_3_22);
    		configure=new Configuration();
    		configure.setDefaultEncoding("utf-8");
    	}
    //创建word
    	public void createDoc( Map<String,Object> dataMap,HttpServletResponse response, String downloadType, String savePath){
    
    		try {
    			//加载需要装填的模板
    			Template template=null;
    			//设置模板装置方法和路径,FreeMarker支持多种模板装载方法。可以从servlet,classpath,数据库装载。
    			//加载模板文件,放在template下
    			configure.setClassForTemplateLoading(this.getClass(), "/com/~/util/template");
    			//设置对象包装器
    			//configure.setObjectWrapper(new DefaultObjectWrapper());
    			//设置异常处理器
    			configure.setTemplateExceptionHandler(TemplateExceptionHandler.IGNORE_HANDLER);
    			//定义Template对象,注意模板类型名字与downloadType要一致
    			template=configure.getTemplate(downloadType + ".xml");
    			File outFile=new File(savePath);
    			Writer out=null;
    			//指定编码表需使用转换流,转换流对象要接收一个字节输出流
    			out = response.getWriter();
    			template.process(dataMap, out);
    
    			out.close();
    		} catch (IOException e) {
    			e.printStackTrace();
    		} catch (TemplateException e) {
    			e.printStackTrace();
    		}
    	}
    	}
    
     /**
         * 制作excel
         */
        public void sendExcel(HttpServletRequest request, HttpServletResponse response, String filename) {
        	//condition 筛选条件
            Map condition = getSelection(request);
            //获取数据
            List<TShopCheckInfo> list = this.tShopCheckInfoService.selectShopInfoList(condition);
            //列头
            String[] title = {  "是否", "图片",};
            String sheetName = "sheet1";
            String[][] content = new String[list.size()][2];
            try {
                int nu = 50;
                if (list.size() < nu) {
                    nu = list.size();
                }
                //循环添加数据   数据库存的图片地址
                for (int i = 0; i < list.size(); i++) {
                    content[i][0] = list.get(i).getEscape() ? (StringUtils.isNotEmpty(list.get(i).getEscapeText()) ? "是(" + list.get(i).getEscapeText() + ")" : "是") : "否";
                    content[i][1] = list.get(i).getEscapeImgs();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            HSSFWorkbook wb = ExcelUtil.getHSSFWorkbook(sheetName, title, content, null);
            try {
                // TODO: 2020/7/29  地址需要更换
                //输出Excel文件
                // 这里是先将文件输出到服务器本地,再用WritableWorkbook进行图片处理
                FileOutputStream output = new FileOutputStream(filePath + filename);
                wb.write(output);
                output.flush();
                //测试
                Thread.sleep(1000);
                //插入图片到excel
                List<String> nameList = new ArrayList<>();
                excelImgUpdate(filePath, filename, list, nameList);
                //响应到客户端
    //            FileInputStream inputStream = new FileInputStream(filePath + "副本" + filename);
    //            org.apache.poi.ss.usermodel.Workbook workbook = WorkbookFactory.create(inputStream);
                //setHeader
    //            downLoadExcel("附件" + filename, response, workbook);
    //            FileOutputStream output = new FileOutputStream(filePath + filename);
                //删除临时文件
    //            nameList.add(filePath + "副本" + filename);
                nameList.add(filePath + filename);
                delTemporary(nameList);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
    package com.ztwx.ezxf.util;
    import org.apache.commons.lang.StringUtils;
    import org.apache.poi.hssf.usermodel.*;
    public class ExcelUtil {
    
    	/**
    	 * 导出Excel
    	 */
    	public static HSSFWorkbook getHSSFWorkbook(String sheetName, String[] title, String[][] values, HSSFWorkbook wb) {
    		// 第一步,创建一个HSSFWorkbook,对应一个Excel文件
    		if (wb == null)
    			wb = new HSSFWorkbook();
    		// 第二步,在workbook中添加一个sheet,对应Excel文件中的sheet
    		HSSFSheet sheet = wb.createSheet(sheetName);
    		//设置单元格的宽度
    		sheet.setDefaultColumnWidth(18);
    		//设置第一列宽度
    		sheet.setColumnWidth(0, 252*40+323);
    		//设置第四列宽度
    		sheet.setColumnWidth(3, 252*25+323);
    		// 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制
    		HSSFRow row = sheet.createRow(0);
    		// 第四步,创建单元格,并设置值表头 设置表头居中
    		HSSFCellStyle style = wb.createCellStyle();
    		style.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框
    		style.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框
    		style.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框
    		style.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框
    		style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式
    		style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//垂直居中
    		
    		//声明列对象
    		HSSFCell cell = null;
    		HSSFCell cell2 = null;
    		HSSFFont font = wb.createFont();
    
    		//创建标题
    		for (int i = 0; i < title.length; i++) {
    			cell = row.createCell(i);
    			cell.setCellValue(title[i]);
    			//字体
    //			font.setBoldweight(Font.BOLDWEIGHT_BOLD);
    			font.setFontHeightInPoints((short) 12);
    			style.setFont(font);
    			cell.setCellStyle(style);
    		}
    		//创建内容
    		for (int i = 0; i < values.length; i++) {
    			row = sheet.createRow(i + 1);
    			//清空字体
    //			font.setBoldweight((short)400);
    //			font.setBold(false);
    //			style.setFont(font);
    			for (int j = 0; j < values[i].length; j++) {
    				
    				//将内容按顺序赋给对应的列对象
    				cell2 = row.createCell(j);
    				if(StringUtils.isNotBlank(values[i][j])){
    					cell2.setCellValue(values[i][j]);
    				}else{
    					cell2.setCellValue("/");
    				}
    
    //				内容设置样式
    				cell2.setCellStyle(style);
    			}
    		}
    		return wb;
    	}
    }
    
    
     //向excel 加入图片
        public List<String> excelImgUpdate(String filePath, String filename, List<TShopCheckInfo> list, List<String> nameList) throws Exception {
            Workbook wb = Workbook.getWorkbook(new File(filePath + filename)); // 获得原始文档
            //创建副本;
            WritableWorkbook workbook = Workbook.createWorkbook(new File(filePath + "副本" + filename), wb);
            WritableSheet sheet = workbook.getSheet(0);
            //调用图片插入函数  图片插入的行列
            //用map存放有图片时候对应的行信息  列固定
    //        Map<Integer, ArrayList> map = new HashMap();
          
            for (int i = 0; i < list.size(); i++) {
                //8   插入对应的列
                String json9 = list.get(i).getEscapeImgs();
                ArrayList arrayList9 = getImgSrc(json9);
                if (arrayList9.size() > 0) {
                    nameList = imgExcelService.addPictureToExcel(nameList, sheet, arrayList9, i + 1, 8);
                }
            }
    
            //写入Excel表格中;
            workbook.write();
            //关闭流;
            workbook.close();
            return nameList;
        }
    
    //图片压缩与写入  单元格控制
    public List<String> addPictureToExcel(List<String> nameList,WritableSheet picSheet, ArrayList pictureFilePaths, double cellRow, double cellCol)
                throws Exception {
            final double cellSpace = 0.02;//图片之间的间隔 占比
            double picWidthMax = 0;
            double picHeightSum = 0;//空出图片 离上下边框的距离
            ImgFile[] imgFiles = new ImgFile[pictureFilePaths.size()];
            //存放临时文件名
            for (int i = 0; i < pictureFilePaths.size(); i++) {
                ImgFile imgFile = new ImgFile();
                //下载图片到本地
                Long da = System.currentTimeMillis();
    //            String filePath = AddressUtil.getMacOrWin();
                String path = filePath + da + ".jpg";
                nameList.add(path);
                downloadPicture(pictureFilePaths.get(i).toString(), path);
                //图片压缩
    //            Thumbnails.of(path).size(300,300).toFile(path);
                CompressImageUtil.reduceImg(path,path,0,0,0.5f);
                File imageFile = new File(path);
    
                // 读入图片
                BufferedImage picImage = ImageIO.read(imageFile);
                ByteArrayOutputStream pngByteArray = new ByteArrayOutputStream();
                //将其他图片格式写成png的形式
                ImageIO.write(picImage, "PNG", pngByteArray);
                imgFile.setPngByteArray(pngByteArray);
                // 取得图片的像素高度,宽度
                //这里设置图片在单元格的尺寸 原理不清楚  该值为具体实验值
                double picWidth = picImage.getWidth() * 0.06;
    //            double picWidth = picImage.getWidth() ;
                double picHeight = picImage.getHeight() * 7;
    //            double picHeight = picImage.getHeight() ;
                imgFile.setHeigth(picHeight);
                imgFile.setWidth(picWidth);
                //汇总
                if (picWidth > picWidthMax) {
                    picWidthMax = picWidth;
                }
                picHeightSum += picHeight;
                imgFiles[i] = imgFile;
            }
    
            WritableFont font = new WritableFont(WritableFont.ARIAL, 14, WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE, Colour.RED);
            WritableCellFormat cellFormat = new WritableCellFormat(font);
            //设置背景颜色;
            cellFormat.setBackground(Colour.WHITE);
            //设置边框;
            cellFormat.setBorder(Border.ALL, BorderLineStyle.THIN);
            //设置自动换行;
            cellFormat.setWrap(true);
            //设置文字居中对齐方式;
            cellFormat.setAlignment(Alignment.CENTRE);
            //设置垂直居中;
            cellFormat.setVerticalAlignment(VerticalAlignment.CENTRE);
    
            Label imageLabel = new Label((int) cellCol, (int) cellRow, "", cellFormat);
            picSheet.addCell(imageLabel);
    
            //获取图片需要插入的单元格
    //        WritableCell cell =picSheet.getWritableCell(0, 0);
    
            //设置单元格宽高
            picSheet.setColumnView((int) cellCol, (int) picWidthMax);//列宽
            picSheet.setRowView((int) cellRow, (int) picHeightSum);//行高
    
            double widthStart = cellSpace;//开始宽度
            double heightStart = cellSpace;//开始高度
            //插入图片
            for (ImgFile imgFile0 : imgFiles) {
                double heigthFact = imgFile0.getHeigth() / picHeightSum;//实际高度
                double widthFact = imgFile0.getWidth() / picWidthMax;
                //图片高度压缩了cellSpace+moreHeight,目的是为了该图片高度不超出单元格
                if (heightStart + heigthFact >= 1) {
                    double moreHeight = heightStart + heigthFact - 1.00;
                    heigthFact -= moreHeight;
                    heigthFact -= cellSpace;
                }
                //图片宽度压缩了cellSpace,目的是为了该图片宽度不超出单元格
                if (widthFact >= 1) {
                    widthFact -= cellSpace;
                }
                //生成图片对象
                WritableImage image = new WritableImage(cellCol + widthStart, cellRow + heightStart,
                        widthFact, heigthFact, imgFile0.getPngByteArray().toByteArray());
                //将图片对象插入到sheet
                picSheet.addImage(image);
                //开始高度累加,获取下一张图片的起始高度(相对该单元格)
                heightStart += heigthFact;
                heightStart += cellSpace;//图片直接间隔为cellSpace
            }
            return nameList;
        }
    
    
        private static void downloadPicture(String urlList, String path) {
            URL url = null;
            try {
                url = new URL(urlList);
                DataInputStream dataInputStream = new DataInputStream(url.openStream());
    
                FileOutputStream fileOutputStream = new FileOutputStream(new File(path));
                ByteArrayOutputStream output = new ByteArrayOutputStream();
    
                byte[] buffer = new byte[1024];
                int length;
    
                while ((length = dataInputStream.read(buffer)) > 0) {
                    output.write(buffer, 0, length);
                }
                BASE64Encoder encoder = new BASE64Encoder();
                String encode = encoder.encode(buffer);//返回Base64编码过的字节数组字符串
                System.out.println(encode);
                fileOutputStream.write(output.toByteArray());
                dataInputStream.close();
                fileOutputStream.close();
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
    
    
    展开全文
  • iOS--UILabel字体默认宽度高度

    千次阅读 2016-08-11 15:39:45
    接着发现UILabel对象的文字宽度是由文字的font属性和文字个数确定的,而且中文、英文、数字的宽度计算还不一样,我认为的一个原因是iOS默认的字体中,中文是等宽字体,而英文和数字并不是等宽字体。 中文  由于...

    今天发现了UILabel的一个属性:intrinsicContentSize,这个属性能返回UILabel对象的内容宽高(1行文本)。

    宽度

    接着发现UILabel对象的文字宽度是由文字的font属性和文字个数确定的,而且中文、英文、数字的宽度计算还不一样,我认为的一个原因是iOS默认的字体中,中文是等宽字体,而英文和数字并不是等宽字体。

    • 中文 
      由于等宽,所以很好计算,包括全月角标点符号也是可以这么计算的,就是:每个中文文字的宽度 * 文字个数。文字个数就很好确定了,但每个中文文字的宽度是怎样确定的呢。通过一个小测试可知,中文文字的宽度是由UILabel的font属性确定的,font属性设置了多大号的字体,中文问题宽度就为多大号,即两者呈线性关系(PS:这个关系的前提是使用系统默认的字体。此外,若没有显式设置font属性的话,UILabel默认的字体大小为17),如:
    <code class="hljs objectivec has-numbering" style="display: block; padding: 0px; background-color: transparent; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; word-wrap: normal; background-position: initial initial; background-repeat: initial initial;">label<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">.font</span> = [<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">UIFont</span> systemFontOfSize:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">12</span>];      <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// 每个中文字宽度就为12</span>
    label<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">.font</span> = [<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">UIFont</span> systemFontOfSize:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">17</span>];      <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// 系统默认字体大小,每个中文文字宽度为17</span>
    label<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">.font</span> = [<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">UIFont</span> systemFontOfSize:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">20</span>];      <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// 每个中文文字宽度为20</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li></ul>
    • 数字 
      数字在系统默认字体内就不是等宽的了,所以宽度也会随着数字的不同而不同,下面是字体大小为系统默认字体大小(即17)的数字宽度表:
    数字 宽度
    0
    1013
    1
    713
    2
    10
    3
    1013
    4
    1023
    5
    1013
    6
    1023
    7
    913
    8
    1023
    9
    1023
    • 英文 
      英文在系统默认字体中也是不等宽的,所以宽度也是会随着字母的不同而不同,下面是字体大小为系统默认字体大小(即17)的数字宽度表:
    小写字母 宽度 大写字母 宽度
    a
    9
    A
    1113
    b
    1013
    B
    11
    c
    913
    C
    12
    d
    1013
    D
    12
    e
    913
    E
    10
    f
    6
    F
    923
    g
    10
    G
    1213
    h
    10
    H
    1213
    i
    4
    I
    413
    j
    4
    J
    9
    k
    9
    K
    11
    l
    4
    L
    913
    m
    1423
    M
    1423
    n
    923
    N
    1213
    o
    923
    O
    13
    p
    10
    P
    1023
    q
    10
    Q
    13
    r
    613
    R
    11
    s
    823
    S
    1023
    t
    6
    T
    1023
    u
    923
    U
    1213
    v
    9
    V
    1113
    w
    13
    W
    1613
    x
    823
    X
    1113
    y
    9
    Y
    11
    z
    9
    Z
    11

    高度

    UILabel的高度就貌似没有线性关系了:

    字体大小 高度
    10
    12
    11
    1313
    12
    1413
    13
    1523
    14
    17
    15
    18
    16
    1913
    17
    2013
    18
    2123
    19
    23
    20
    24
    21
    2513
    22
    2613
    23
    2723
    24
    2823
    25
    30
    26
    3113
    27
    3213
    28
    3323
    29
    3423
    0
    展开全文
  • 当我们创建表格后,为了使表格更加美观,就需要我们对表格进行相应的修饰,如调整表格的大小、设置表格的边框和底纹、更改表格中的文字方向等。这里我们先来介绍一下设置表格大小的各种方法。一、表格大小设置当我们...

    在前面的课程中,我们讲解了创建表格(四种创建表格的方法)和表格的基本操作(选择表格、插入与删除行或列、删除单元格、删除整张表格以及合并与拆分单元格)的方法,这里,我们接着介绍表格大小的设置。

    当我们创建表格后,为了使表格更加美观,就需要我们对表格进行相应的修饰,如调整表格的大小、设置表格的边框和底纹、更改表格中的文字方向等。这里我们先来介绍一下设置表格大小的各种方法。

    一、表格大小设置

    当我们在Word文档中创建了一个表格后,难免会遇到表格的列宽和行高不合适,或者是表格在文档中的大小不恰当的情况,这时,我们就需要根据需要来进行调整,以达到我们需要的结果。

    1、缩放表格

    在Word文档中,当我们创建了一个表格后,如果对当前表格的大小不满意,我们就来调整表格的大小。调整整张表格大小的方法是:

    单击表格“全选”按钮,选中整个表格,将鼠标指针移动到表格的右下角一个“小方块”上,当鼠标指针变成“斜向”双箭头时按下鼠标左键并拖动,在拖动的过程中我们可以看到缩放后的大小。当符合我们需要的大小时松开鼠标左键即可,得到我们需要的表格大小。

    这就是我们拖动鼠标来调整表格大小的方法。这种方法对要求不是太高的表格操作最直接有效,但得不到精确控制的效果。

    2、拖动调整行高或列宽

    当我们需要单独调整某些行或列的高度与宽度时,我们可以用拖动鼠标来调整行高和列宽,这种方式的话是最简单的,具体操作如下:

    (1)调整行的高度

    将鼠标移动到需要我们调整高度的行的下边线上,当鼠标指针变为“双横线和上下双箭头”形状的时候,按下鼠标左键不松开,之后拖动鼠标上下移动即可调整行的高度。需要拖高时,我们向下拖动,需要变矮时,我们向上拖动。

    (2)调整列的宽度

    将鼠标移动到需要我们调整宽度的列的左边缘线上,当鼠标指针变为“双竖线和左右双箭头”形状的时候,按下鼠标左键不松开,之后拖动鼠标左右移动即可调整列的宽度。需要拖宽时,我们向右拖动,需要变窄时,我们向左拖动。

    以上两种方式调整行高和列宽的方法,都是对整行和整列来调整的,如果我们要调整的是某一个单独单元格的大小的时候,这些方法都不适用了。下面我们具体介绍一下调整单独单元格大小的方法,因为这种方法最适用。

    657a130f2e15aa595084b8f29781e115.png调整单独单元格大小的方法

    提示:这里必须要先选中相邻的两个单元格之后再拖动,不然改变的是整列的宽度。

    3、指定单元格大小

    在调整单元格大小的过程中,除了上面我们已经介绍过的使用鼠标拖动的方式以外,还可以指定行高和列宽来调整单元格的大小。具体操作方法如下:

    (1)单击选择需要调整大小的单元格;(2)单击“布局”选项卡;(3)在行高和列宽的输入框中输入具体的数值,操作步骤如下图所示:

    de38e1789c880c55e8bc77ffbed27358.png利用布局选项卡设置单元格大小的步骤

    注意:虽然“利用布局选项卡设置单元格大小”可以得到设置单独单元格大小的效果,但并会使后面的表格错位,因此,这种方法并不可取,所以,我们在调单独单元格大小时,还是尽量使用我们介绍的用鼠标选择相邻两个单元格来拖动鼠标调整的方法。

    以上内容就是我们今天要介绍的“word表格大小调整固定单元格大小设置”内容,下次我们接着介绍“行和列的均分、自动调整表格大小和通过对话框精确调整表格大小”的方法,欢迎大家的继续学习。

    若想学习表格的基本操作,请单击以下链接:

    表格修改与编辑删除表格合并与拆分单元格(下)——想象力电脑应用

    举报/反馈

    展开全文
  • word中使用表格经常需要针对性调整其行高与列宽,有时侯也需要对某个单元格单独调整宽度(需要注意的是:单元格不能单独调整高度。针对整个表格只有宽度调整。表格高度是通过对每一行的高度来调整。)表格大小调整...

    在word中使用表格经常需要针对性调整其行高与列宽,有时侯也需要对某个单元格单独调整宽度(需要注意的是:单元格不能单独调整高度。针对整个表格只有宽度调整。表格高度是通过对每一行的高度来调整。)

    表格大小调整

    通过表格属性设置页设置表格宽度:选中表格,单击“右键”,并选择“表格属性”,打开

    表格属性设置页。可以精确设置表格的宽度,默认有两种尺寸规格:厘米与百分比。百分比代表是表格与页面大小的百分比。如:50%则代表表格总体宽度为页面的一半。

    9904c980423910d32282d4f26bc5f6bb.png

    鼠标拖动调整表格大小:将鼠标悬停在表格上,可以看到表格右下角有一个调整按钮□,鼠标点击调整按钮后拖动可以直接改变表格的总体宽度与高度。(需要注意的是:此法调整是整体的放大与缩小。)

    4435b84517c978ad5df465ee690e087b.png

    调整表格行高

    调整表格中某一行的高度方法:选择表格中需要调整高度的行,点击“右键”,选择“表格属性”,在打开的表格属性页中选择“行”,指定行高度。通过“上一行”与“下一行”可以调整对应上一行与下一行的高度。

    d8688d8973c747577e17189857c08a48.png

    此处行高度有两个选项最小值与固定值:

    最小值:意思为该行行高最即使没有内容时的高度;固定值:即该行无论有多少内容高度都是固定的大小,如果文字过多可能看不到完整的内容文字。参看下图:

    eda61d3b86d29d61c78e513e705bc137.png

    鼠标拖动方法:可以将鼠标移动到需要调整高度的行的下边框处(待鼠标形状成为↕样式时),按住鼠标上下拖动改变其指定高度。

    调整表格列宽

    调整表格中某一列宽度的方法:选择表格中需要调整宽度的列,点击“右键”,选择“表格属性”,在打开的表格属性页中选择“列”,指定列宽度。通过“前一列”与“后一列”可以调整对应前一列与后一列的宽度。

    08a7b87840d306e96ae8e1523dadc758.png

    此处度量单位有百分比与厘米,此处的百分比的意思是该列相对于整个表格的百分比。

    鼠标拖动方法:可以通过将鼠标移动到需要调整宽度列的右边线或右边线处(待鼠标形状变为↔样式时),按住鼠标左右拖动改变列宽。(需要注意的是此种调整其实调整的是该边线左右两列的宽度,这两列所占总宽度不变。)

    2b8cb869422ca44e5e8428024587e535.png

    单独调整某一个单元格的宽度

    有时侯我们也需要单独对某一个单元格调整宽度,这个需要如何操作呢?

    f696434835a286aa2dab170363da1f12.png

    这种调整只能通过鼠标操作来实现,具体操作方法为:

    首先:选中需要调整的单元格(在单元格中快速三击鼠标左键或将鼠标移到单元格左侧待鼠标形状变为黑色右上实心箭头时单击左键),使整个单元格处于被选择状态(如下图中所示)。

    903a4f9ecdda8b855fd24ba03d9aa973.png

    接着:将鼠标移动到被选中单元格左边框或右边框(待鼠标形状变为↔时),按住鼠标左右拖动调整宽度。

    efe99ca22e36f21c94ace62ef1406ee4.png

    调整行高、列宽、单元格宽度方法大致如此,实际应用中需要三个结合使用才能做出理想的表格。

    展开全文
  • 2.1Word2003字体设置1

    2013-06-13 08:35:11
    教学目标1、掌握Word2003文档排版中字体、字号、字形的设置 2、掌握上标、下标、缩放、字的位置、文字效果等设置复习提问1、操作的撤消、恢复和重复的快捷键分别是什么? 2、插入和改写状态如何切换?3、查找、替换的...
  • 设置dd里面的过长字符自动换行 <dl> <dt>gene</dt> <dd>{{this.tabdata.gene}}</dd> <dt>Go</dt> <dd style="width:70%;height: auto; word-wrap:break-word;...
  • 1 回答2021-05-06 浏览:3 分类:其他问题回答:其实这样的表格主要是通过跨行和跨列来实现这,首先你这里有11行,17列(按最多的算)然后...1 回答2021-05-06 浏览:1 分类:其他问题回答:CSS中宽度高度分别可以通...
  • CSS------当内容超出div宽度后自动换行和限制文字不超出div宽度高度 原文:CSS------当内容超出div宽度后自动换行和限制文字不超出div宽度高度如图: 1.自动换行 <div style="widht:100%...
  • CSS设置表格TD宽度布局

    千次阅读 2017-06-16 15:41:00
    使用表格布局时,对单元格的宽度控制很伤脑筋,所以查阅资料整理如下: 一、表格布局table-layout  语法:  table-layout : auto ... fixed :表格和列的宽度通过表格的宽度设置,某一列的宽度仅由该列首行的...
  • java代码获取文本的高度宽度

    千次阅读 2015-08-12 11:19:09
     String name="我是谁?";  Font font = new Font("微软雅黑", Font.PLAIN, 26); FontMetrics fm = FontDesignMetrics.getMetrics(font); int txt_w = fm.string...//文字宽度  ...
  • 页面中table宽度设置width="600px"之后,宽度仍然不是固定的,文字太长后不换行,把table都撑变形了。 解决办法: 1.table 设置 宽度,绝对宽度和相对都可以 table-layout:fixed ; 设置了这个属性,其余所有td都是...
  • 页面中table宽度设置width="600px"之后,宽度仍然不是固定的,文字太长后不换行,把table都撑变形了。 解决办法: 1.table 设置 宽度,绝对宽度和相对都可以 table-layout:fixed ; 设置了这个属性,其余所有td都...
  • 为一款新闻发布系统,CuteEditor功能非常强大,支持图片上传、文件下载已经word类似的文字编辑,实在是一款终结者文字编辑器。这里介绍一下如何在.net web中使用它。 把CuteEditor下载过来以后,看了整整两天,一边查...
  • textarea 自适应宽度高度

    万次阅读 2018-08-01 10:48:54
    经常与遇到处理文字域的问题, 需要继承父级的宽度 分析 textarea的宽度不是img那种有单独的width height属性;它是需要单独设置样式的 解决 样式设置 .textarea-inherit { width: 100%; overflow: ...
  • word软件里面的页面设置选项即可完成word页面高度宽度设置,具体方法如下:导入或者新建需要调整的文稿在布局选项卡界面下,点击页面设置右下角的按钮。div css布局网页如何实现网页自动适应屏幕高度宽度想....
  • 我希望它们与字体具有相同的高度,并且在单元格中文本的下方或上方没有填充/间距..但是没有任何“填充”就无法使它工作…码:$styleTable = array('borderSize'=>0,'borderColor'=>'eeeeee','cellMargin'=>0...
  • 得到一个dc, dc中选入需要的字体如果不在WM_PAINT消息里可以用CWnd::GetDC 注意使用完之后要用ReleaseDC释放 <br /> 2.  DrawText 函数的nFormat 参数传入: DT_CALCRECT | DT_WORDBREAK 在lpRect参数...
  • CSS学习--高度宽度

    2018-06-12 04:15:45
    一、文档流:文档内与元素的流动方向 文档流处在网页的最底层,它表示的是一个页面中的位置, 我们所创建的元素默认都...中文换行文字会分割,英文换行单词不会分割(可加word-break强行分割) word-break语法 ...
  • 1 2 3 1111 22222222222222222222222222222222222222222222222222222222222222 2 设置table中的宽度不随文字改变让其固定 互联网作者 页面中table宽度设置width之后,宽度仍然不是固定的,文字太长后不换行,下面有...
  • CSS2:宽度高度 如果你的CSS代码里经常出现height和width属性,说明你对宽度高度理解的不够深 1.文档流(Normal Flow) 翻译很烂,应该为普通流,或者常规流. 1.1DIV的高度 1.1.1字体高度与行高 字和字之间是通过基线...
  • 用iText设置字体大小,无法设置五号字体,五号字体10.5,设置后导出word发现字体就会变成10
  • Word教程字体大小知多少(转) 在Word文档中,设置字体的大小是再普通、再常见不过的事了,我们常常根据相关部门的不同要求来设置它们,如“宋体四号”、“楷体14磅”等。 谁料想,一次为了特殊需要,竟要求打印出的...
  • 当前,当您判断字体大小为10px时,假设您使用的是等高字体高度为13px,宽度为6px。 安装 npm install scale-text --save 用法 var ScaleText = require('scale-text') var idealSize = new ScaleText(['word ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 25,757
精华内容 10,302
关键字:

word设置字体高度宽度