精华内容
下载资源
问答
  • Unity创建和读取excel表格

    千次阅读 2020-03-20 14:26:58
    Unity创建和读取excel表格

    之前分享过一篇word文档的创建和修改,那么在实际开发过程中有时候会遇到读取大量的数据(姓名、年级、性别等等),以下分享一下Unity创建和读取excel表格。

    一、导入NPOI类库文件

    这里用的版本是Unity 2018.4.2,可直接下载类库文件导入Unity,,如果是较低版本,可以看下我之前Unity与word文档交互的博客,对于稍低版本有具体的处理方法。(提取码:kkkk)
    https://pan.baidu.com/s/1fE9hmm62ms_KgPj5HffEVA
    这里类库文件需要放入Plugins文件夹内。
    在这里插入图片描述

    二、创建Excel表格

    命名空间引入(在最后面会贴上完整代码)

    using NPOI.HSSF.UserModel;
    using NPOI.SS.UserModel;
    using System.Collections.Generic;
    using System.IO;
    using UnityEngine;
    

    开始创建Excel表格

        private string filePath;
        private HSSFWorkbook wk;
        private FileStream fs;          //文件流
    
        private ISheet sheet;           //工作表
        private IRow row;               //行
        private ICell cell;             //列
    
        private void Awake()
        {
            filePath = "C:/david.xls";
        }
    
        private void Start()
        {
            CreateExcel();
        }
    
        /// <summary>
        /// 创建表格
        /// </summary>
        private void CreateExcel()
        {
            Debug.Log(1);
            wk = new HSSFWorkbook();
            sheet = wk.CreateSheet("mySheet");
            Debug.Log(2);
    
            for (int i = 0; i <= 20; i++)
            {
                row = sheet.CreateRow(i);
                cell = row.CreateCell(0);
                cell.SetCellValue(i);
            }
    
            fs = File.Create(filePath);
            wk.Write(fs);
            fs.Close();
            fs.Dispose();
            Debug.Log("创建表格成功");
        }
    

    路径自定义即可,进入Unity随便挂在到任一游戏物体上,运行即可在指定路径生成excel,可以看到生成了mysheet工作表,其中也有了数据。
    在这里插入图片描述

    三、读取Excel表格

    先创建好要读取的excel表格,这里还是上面的C盘路径,以游戏物体及属性为例。
    在这里插入图片描述
    通过以下方法,遍历工作表–行--列

        /// <summary>
        /// 读取表格
        /// </summary>
        private void LoadExcel()
        {
            fs = File.OpenRead(filePath);
            wk = new HSSFWorkbook(fs);
            sheet = wk.GetSheetAt(0);
            for (int j = 1; j <= sheet.LastRowNum; j++)
            {
                row = sheet.GetRow(j);
                if (row != null)
                {
                    for (int k = 0; k < row.LastCellNum; k++)
                    {
                        Debug.Log(row.GetCell(k).ToString());
                    }
                }
            }
        }
    

    效果如下:(这里需要注意以下,无论是创建/读取,都要把excel关闭,在打开状态下Unity会报错)
    在这里插入图片描述
    接下来就可以进行下一步的解析了,我们需要把这些数据进行整理和分类,先把和表格对应的字段弄出来,用results列表存储获取的所有数据,itemInfos列表获取到所有物品。

        /// <summary>
        /// 接收结果
        /// </summary>
        public List<string> results = new List<string>();
    
        /// <summary>
        /// 物品信息
        /// </summary>
        public List<ItemInfo> itemInfos = new List<ItemInfo>();
    
        public struct ItemInfo
        {
            public string name;
            public int attack;
            public int crit;
            public int panetrate;
            public int hp;
            public int mp;
        }
    

    在获取到具体列的元素时存入result列表内

        /// <summary>
        /// 读取表格
        /// </summary>
        private void LoadExcel()
        {
            fs = File.OpenRead(filePath);
            wk = new HSSFWorkbook(fs);
            sheet = wk.GetSheetAt(0);
            for (int j = 1; j <= sheet.LastRowNum; j++)
            {
                row = sheet.GetRow(j);
                if (row != null)
                {
                    for (int k = 0; k < row.LastCellNum; k++)
                    {
                        //Debug.Log(row.GetCell(k).ToString());
                        results.Add(row.GetCell(k).ToString());
                    }
                }
            }
        }
    

    遍历results,将具体的Item物体进行赋值操作。

        /// <summary>
        /// 获取所有数据
        /// </summary>
        private void GetAllDatas()
        {
            for (int i = 0; i < results.Count; i += 6)
            {
                ItemInfo item;
                item.name = results[i];
                item.attack = int.Parse(results[i+1]);
                item.crit = int.Parse(results[i + 2]);
                item.panetrate = int.Parse(results[i + 3]);
                item.hp = int.Parse(results[i + 4]);
                item.mp = int.Parse(results[i + 5]);
                itemInfos.Add(item);
            }
    
            for (int i = 0; i < itemInfos.Count; i++)
            {
                Debug.Log(string.Format("物品名称:{0} 攻击力:{1} 暴击:{2} 穿透:{3} 血:{4} 蓝:{5}", 
                    itemInfos[i].name, itemInfos[i].attack, itemInfos[i].crit, 
                    itemInfos[i].panetrate, itemInfos[i].hp, itemInfos[i].mp));
            }
        }
    

    最后结果如下图。
    在这里插入图片描述
    完整代码:

    using NPOI.HSSF.UserModel;
    using NPOI.SS.UserModel;
    using System.Collections.Generic;
    using System.IO;
    using UnityEngine;
    
    /// <summary>
    /// 读取表格
    /// </summary>
    public class LoadTable : MonoBehaviour
    {
        private string filePath;
        private HSSFWorkbook wk;
        private FileStream fs;          //文件流
    
        private ISheet sheet;           //工作表
        private IRow row;               //行
        private ICell cell;             //列
    
        private void Awake()
        {
            filePath = "C:/david.xls";
        }
    
        private void Start()
        {
            LoadExcel();
            GetAllDatas();
        }
    
        /// <summary>
        /// 创建表格
        /// </summary>
        private void CreateExcel()
        {
            Debug.Log(1);
            wk = new HSSFWorkbook();
            sheet = wk.CreateSheet("mySheet");
            Debug.Log(2);
    
            for (int i = 0; i <= 20; i++)
            {
                row = sheet.CreateRow(i);
                cell = row.CreateCell(0);
                cell.SetCellValue(i);
            }
    
            fs = File.Create(filePath);
            wk.Write(fs);
            fs.Close();
            fs.Dispose();
            Debug.Log("创建表格成功");
        }
    
        /// <summary>
        /// 读取表格
        /// </summary>
        private void LoadExcel()
        {
            fs = File.OpenRead(filePath);
            wk = new HSSFWorkbook(fs);
            sheet = wk.GetSheetAt(0);
            for (int j = 1; j <= sheet.LastRowNum; j++)
            {
                row = sheet.GetRow(j);
                if (row != null)
                {
                    for (int k = 0; k < row.LastCellNum; k++)
                    {
                        //Debug.Log(row.GetCell(k).ToString());
                        results.Add(row.GetCell(k).ToString());
                    }
                }
            }
        }
    
        /// <summary>
        /// 获取所有数据
        /// </summary>
        private void GetAllDatas()
        {
            for (int i = 0; i < results.Count; i += 6)
            {
                ItemInfo item;
                item.name = results[i];
                item.attack = int.Parse(results[i+1]);
                item.crit = int.Parse(results[i + 2]);
                item.panetrate = int.Parse(results[i + 3]);
                item.hp = int.Parse(results[i + 4]);
                item.mp = int.Parse(results[i + 5]);
                itemInfos.Add(item);
            }
    
            for (int i = 0; i < itemInfos.Count; i++)
            {
                Debug.Log(string.Format("物品名称:{0} 攻击力:{1} 暴击:{2} 穿透:{3} 血:{4} 蓝:{5}", 
                    itemInfos[i].name, itemInfos[i].attack, itemInfos[i].crit, 
                    itemInfos[i].panetrate, itemInfos[i].hp, itemInfos[i].mp));
            }
        }
    
        /// <summary>
        /// 接收结果
        /// </summary>
        public List<string> results = new List<string>();
    
        /// <summary>
        /// 物品信息
        /// </summary>
        public List<ItemInfo> itemInfos = new List<ItemInfo>();
    
        public struct ItemInfo
        {
            public string name;
            public int attack;
            public int crit;
            public int panetrate;
            public int hp;
            public int mp;
        }
    }
    
    展开全文
  • java 中使用jxl包创建excel表是2003版本的,在某些应用中超过限制(256列)则会报错。应用poi创建2007版本的excel则可以解决该问题

    简单记录下 使用jxl创建excel遇到的坑

    1、异常错误

    2、异常分析 

    出现了警告 Could not add cell at A257 because it exceeds the maximum column limit,原因在于jxl 使用的是excel 2003,excel 2003列限制和行限制分别是256和65536。当写257行时就提示了改异常。

    3、解决 

    使用excel 2007代替excel 2003,excel 2007限制行数和列数为1048576和16384。

    由于jxl这个包创建的excel 是2003版的,因此引入了poi包来替换jxl。

    4、jxl 和 poi创建excel的代码实现

    以下分别介绍jxl 和 poi创建excel的方法:

    jxl创建excel的代码:

    package com.best.oasis.ltlv5.report;
    
    import jxl.Workbook;
    import jxl.format.Colour;
    import jxl.write.*;
    
    import java.io.FileOutputStream;
    import java.io.OutputStream;
    
    public class JxlExcelTest {
        public static void main(String[] args) {
            WritableWorkbook workbook;
            String excelPath = "d:\\temp\\bb" + "测试" + System.currentTimeMillis() + ".xls";
            try {
                OutputStream os = new FileOutputStream(excelPath);
                workbook = Workbook.createWorkbook(os);
    
                WritableSheet ws = workbook.createSheet("test", workbook.getSheetNames().length);
                ws.getSettings().setDefaultColumnWidth(10);
                ws.getSettings().setHorizontalFreeze(2);
                ws.getSettings().setVerticalFreeze(2);
    
                //样式
                WritableCellFormat titleWritableCellFormat = createTileWritableCellFormat();
                WritableCellFormat textWritableCellFormat = createTextWritableCellFormat();
    
                int row = 0;
                for (int i = 0; i <= 100; i++) {
                    //创建合并的单元格
                    Label lbTitle = new Label(2 * i, row, "标题" + 2 * i, titleWritableCellFormat);
                    ws.addCell(lbTitle);
                    ws.mergeCells(2 * i, row, 2 * i + 1, row + 1); //startCol startRow endCol endRow
                }
    
                //添加普通单元格
                for (int j = 2; j < 100; j++) {
                    for (int i = 0; i <= 100; i++) {
                        ws.addCell(new Label(2 * i, j, "内容" + j + "行" + (2 * i) + "列", textWritableCellFormat));
                        ws.addCell(new Label(2 * i + 1, j, "内容" + j + "行" + (2 * i + 1) + "列", textWritableCellFormat));
                    }
                }
    
                workbook.write();
                workbook.close();
                //workbook.write(outputStream);
                //outputStream.close();
            } catch (Exception e) {
                System.out.println("It cause Error on WRITTING excel workbook: ");
                e.printStackTrace();
            }
    
        }
    
        private static WritableCellFormat createTileWritableCellFormat() throws WriteException {
            WritableFont font = new WritableFont(WritableFont.TIMES, 14, WritableFont.BOLD, false);
            font.setColour(Colour.RED);
            WritableCellFormat cellFormat = new WritableCellFormat(font);
            cellFormat.setBackground(jxl.format.Colour.LIGHT_TURQUOISE);
    
           setCommonWritableCellFormat(cellFormat);
    
            return cellFormat;
        }
    
        private static WritableCellFormat createTextWritableCellFormat() throws WriteException {
            WritableFont font = new WritableFont(WritableFont.TIMES, 10, WritableFont.NO_BOLD, false);
            WritableCellFormat cellFormat = new WritableCellFormat(font);
            setCommonWritableCellFormat(cellFormat);
            return cellFormat;
        }
    
        private static void setCommonWritableCellFormat(WritableCellFormat cellFormat) throws WriteException {
            // 对齐方式
            cellFormat.setAlignment(jxl.format.Alignment.CENTRE);
            cellFormat.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
            // 边框
            cellFormat.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.THIN);
            // 自动换行
            cellFormat.setWrap(true);
        }
    
    }
    


    poi创建excel的代码:

    package com.best.oasis.ltlv5.report;
    
    import org.apache.poi.hssf.usermodel.HSSFCellStyle;
    import org.apache.poi.hssf.usermodel.HSSFFont;
    import org.apache.poi.hssf.util.HSSFColor;
    import org.apache.poi.ss.usermodel.*;
    import org.apache.poi.ss.util.CellRangeAddress;
    import org.apache.poi.xssf.usermodel.XSSFCellStyle;
    import org.apache.poi.xssf.usermodel.XSSFFont;
    import org.apache.poi.xssf.usermodel.XSSFSheet;
    import org.apache.poi.xssf.usermodel.XSSFWorkbook;
    
    import java.io.FileOutputStream;
    
    public class PoiExcelTest {
        public static void main(String[] args) {
            XSSFWorkbook workbook = new XSSFWorkbook();
            XSSFSheet sheet = workbook.createSheet("测试表");
            sheet.setDefaultColumnWidth(15); //设置默认列宽度
            sheet.createFreezePane(2, 2); //冻结窗格
    
            CellStyle cellStyle = createTitleCellStyle(workbook, 14, "宋体", XSSFFont.COLOR_RED, true, HSSFColor.LIGHT_TURQUOISE.index);
            CellStyle commonCelStyle = createCellStyle(workbook);
            Row row0 = sheet.createRow(0);
            for (int i = 0; i <= 100; i++) {
                //创建合并的单元格
                createMergeCell(sheet, row0, 2 * i, cellStyle, "标题" + i, 0, 1, 2 * i, 2 * i + 1);
            }
    
            for (int j = 2; j < 100; j++) {
                Row rowj = sheet.createRow(j);
                for (int i = 0; i <= 100; i++) {
                    createStringCell(rowj, 2 * i, commonCelStyle, "内容" + j + "行" + (2 * i) + "列");
                    createStringCell(rowj, 2 * i + 1, commonCelStyle, "内容" + j + "行" + (2 * i + 1) + "列");
                }
            }
            //将生成的excel写到磁盘上
            String excelPath = "d:\\temp\\bb" + "测试" + System.currentTimeMillis() + ".xlsx";
            try {
                FileOutputStream outputStream = new FileOutputStream(excelPath);
                workbook.write(outputStream);
                outputStream.flush();
                outputStream.close();
            } catch (Exception e) {
                System.out.println("It cause Error on WRITTING excel workbook: ");
                e.printStackTrace();
            }
    
        }
    
        private static void createMergeCell(XSSFSheet sheet, Row row, int colIndex, CellStyle cellStyle, String cellValue,
                int startRow, int endRow, int startCol, int endCol) {
            //合并单元格
            CellRangeAddress cellRangeAddress = new CellRangeAddress(startRow, endRow, startCol, endCol);
            sheet.addMergedRegion(cellRangeAddress);
            //创建单元格
            createStringCell(row, colIndex, cellStyle, cellValue);
            //给合并的单元格设置样式
            setRegionStyle(sheet, cellRangeAddress, cellStyle);
        }
    
        /**
         * 创建单元格
         *
         * @param row       行
         * @param cellIndex 列索引
         * @param cellStyle 单元格样式
         * @param cellValue 单元格内容
         */
        private static void createStringCell(Row row, int cellIndex, CellStyle cellStyle, String cellValue) {
            Cell cell = row.createCell(cellIndex, Cell.CELL_TYPE_STRING);
            cell.setCellStyle(cellStyle);
            cell.setCellValue(cellValue);
        }
    
        public static void setRegionStyle(Sheet sheet, CellRangeAddress region,
                CellStyle cs) {
    
            for (int i = region.getFirstRow(); i <= region.getLastRow(); i++) {
    
                Row row = sheet.getRow(i);
                if (row == null) {
                    row = sheet.createRow(i);
                }
                for (int j = region.getFirstColumn(); j <= region.getLastColumn(); j++) {
                    org.apache.poi.ss.usermodel.Cell cell = row.getCell(j);
                    if (cell == null) {
                        cell = row.createCell(j);
                        cell.setCellValue("");
                    }
                    cell.setCellStyle(cs);
    
                }
            }
        }
    
        /**
         * 创建单元格样式
         * @param workbook
         * @param fontSize
         * @param fontName
         * @param fontColor
         * @param isBold
         * @param background
         * @return
         */
        private static CellStyle createTitleCellStyle(XSSFWorkbook workbook, int fontSize, String fontName, short fontColor,
                boolean isBold,
                short background) {
            CellStyle cellStyle = workbook.createCellStyle();
            //设置字体
            Font font = workbook.createFont();
            font.setFontHeightInPoints((short) fontSize); //字体大小
            font.setFontName(fontName); //字体
            font.setColor(fontColor); //字体颜色
            if (isBold) {
                font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); //是否加粗
            }
    
            //设置背景色
            cellStyle.setFillForegroundColor(background);
            cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
            cellStyle.setFillBackgroundColor(background);
    
            setCommonCellStyle(cellStyle);
            return cellStyle;
        }
    
        private static CellStyle createCellStyle(XSSFWorkbook workbook) {
            CellStyle cellStyle = workbook.createCellStyle();
            setCommonCellStyle(cellStyle);
            return cellStyle;
        }
    
        private static void setCommonCellStyle(CellStyle cellStyle) {
            //对齐方式
            cellStyle.setAlignment(CellStyle.ALIGN_CENTER);
            cellStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
    
            cellStyle.setWrapText(true);//自动换行
    
            // 设置边框
            cellStyle.setBorderBottom(XSSFCellStyle.BORDER_THIN);
            cellStyle.setBorderLeft(XSSFCellStyle.BORDER_THIN);
            cellStyle.setBorderRight(XSSFCellStyle.BORDER_THIN);
            cellStyle.setBorderTop(XSSFCellStyle.BORDER_THIN);
        }
    }


    展开全文
  • POI复制excel表格问题

    2020-04-14 14:50:29
    POI复制excel表格问题 使用poi复制本地excel,在导入数据时遇到某个单元格是null,这个null单元格,前面和后面的单元格都不为null, //复制并创建excel String path="E:/person/program/MyTest/admin/src/main/...

    POI复制excel表格问题

    使用poi复制本地excel,在导入数据时遇到某个单元格是null,这个null单元格,前面和后面的单元格都不为null,

    //复制并创建excel
     String path="E:/person/program/MyTest/admin/src/main/resources/static/file/sss.xls";
            File file = new File(path);
            POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(file));
            HSSFWorkbook wb = new HSSFWorkbook(fs);
          // 获得第一个sheet(页)
            Sheet sheet = wb.getSheetAt(0);
            //给单元格赋值
            BigDecimal allMoney=BigDecimal.ZERO;
            for (int  i=1;i<list.size();i++){
                allMoney = allMoney.add(new    BigDecimal(list.get(i).get("name10").toString().replace(",","")));
            }
            sheet.getRow(1).getCell(1).setCellValue(allMoney.toString());
    
            int number1=list.size()-1;        
            sheet.getRow(2).getCell(1).setCellValue(Integer.toString(number1));
    
          for (int i = 1; i < list.size(); i++) {
                // Row 行,Cell 方格 , Row 和 Cell 都是从0开始计数的
                // 创建一行,在页sheet上
                Row row = sheet.getRow(i + 3);
                // 在row行上创建一个方格
                for (int j = 0; j < keys.length; j++) {
                    Cell cell = row.getCell(j);                
                    cell.setCellValue(list.get(i).get(keys[j]) == null ? "  " : list.get(i).get(keys[j]).toString());
                   
                    if (j == 9) {
                        cell.setCellValue(new BigDecimal(list.get(i).get(keys[j]).toString()).doubleValue());
                    }
                }
            }
    
    

    这样赋值会报null在这里插入图片描述

    排查发现在
    获得excel表格第5行第7列是null

            System.out.println(sheet.getRow(4).getCell(1));
            System.out.println(sheet.getRow(4).getCell(6));
            System.out.println(sheet.getRow(4).getCell(7));
            System.out.println("**********");
            System.out.println(sheet.getRow(3).getCell(1));
            System.out.println(sheet.getRow(3).getCell(6));
            System.out.println(sheet.getRow(3).getCell(7));
    

    在这里插入图片描述
    后来找不到为什么是会是null,只有修改代码
    到第七列时生成一个cell再去赋值

      for (int i = 1; i < list.size(); i++) {
                // Row 行,Cell 方格 , Row 和 Cell 都是从0开始计数的
                // 创建一行,在页sheet上
                Row row = sheet.getRow(i + 3);
                // 在row行上创建一个方格
                for (int j = 0; j < keys.length; j++) {
                    Cell cell = row.getCell(j);
                    if (j == 6) {
                        Cell sss = row.createCell(j);
                        sss.setCellValue(list.get(i).get(keys[j]) == null ? "  " : list.get(i).get(keys[j]).toString());
                        sss.setCellStyle(cs2);
                    } else {
                        cell.setCellValue(list.get(i).get(keys[j]) == null ? "  " : list.get(i).get(keys[j]).toString());
                   }
                    if (j == 9) {
                        cell.setCellValue(new BigDecimal(list.get(i).get(keys[j]).toString()).doubleValue());
                    }
                }
            }
    

    插入数据前

    在这里插入图片描述
    插入数据后在这里插入图片描述

    有没有大佬指点一下为什么获得cell的时候是null,跟原模板的格式有关系吗?

    展开全文
  • 在工作中,遇到了使用python生成Excel表格的需求,经过资料的查找与对比,决定使用第三方库xlwt来生成Excel表格,现做如下总结:简单例子:import xlwtwb = xlwt.Workbook(encoding = 'ascii') #创建实例,并且规定...

    在工作中,遇到了使用python生成Excel表格的需求,经过资料的查找与对比,决定使用第三方库xlwt来生成Excel表格,现做如下总结:

    简单例子:

    import xlwt

    wb = xlwt.Workbook(encoding = 'ascii') #创建实例,并且规定编码

    ws = wb.add_sheet('My Worksheet') #设置工作表名称

    ws.write(0,0,'first') #向表格中插入字符串,前两位数字分别为行和列,第三个参数为要插入的内容,第四个参数可以设置样式

    wb.save('test.xls') #将生成的表格保存为

    单元格样式控制:

    def set_style(name, height, bold=False, back=False): #样式控制函数

    style = xlwt.XFStyle() # 初始化样式

    font = xlwt.Font() # 为样式创建字体

    font.name = name # 字体由函数传入

    font.bold = bold

    font.color_index = 4

    font.height = height

    style.font = font

    borders = xlwt.Borders() # 设置边框

    borders.left = xlwt.Borders.THIN # 可选: NO_LINE, THIN, MEDIUM, DASHED, DOTTED, THICK, DOUBLE, HAIR, MEDIUM_DASHED, THIN_DASH_DOTTED, MEDIUM_DASH_DOTTED, THIN_DASH_DOT_DOTTED, MEDIUM_DASH_DOT_DOTTED, SLANTED_MEDIUM_DASH_DOTTED, or 0x00 through 0x0D.

    borders.right = xlwt.Borders.THIN

    borders.top = xlwt.Borders.THIN

    borders.bottom = xlwt.Borders.THIN

    style.borders = borders

    if back:

    patterni = xlwt.Pattern() # 为样式创建图案

    patterni.pattern = 2 # 设置底纹的图案索引,1为实心,2为50%灰色,对应为excel文件单元格格式中填充中的图案样式

    patterni.pattern_fore_colour = 0x16 # 设置底纹的前景色,对应为excel文件单元格格式中填充中的背景色

    patterni.pattern_back_colour = 0x16 # 设置底纹的背景色,对应为excel文件单元格格式中填充中的图案颜色

    style.pattern = patterni # 为样式设置图案

    return style

    背景色对照:

    _colour_map_text = """\

    aqua 0x31

    black 0x08

    blue 0x0C

    blue_gray 0x36

    bright_green 0x0B

    brown 0x3C

    coral 0x1D

    cyan_ega 0x0F

    dark_blue 0x12

    dark_blue_ega 0x12

    dark_green 0x3A

    dark_green_ega 0x11

    dark_purple 0x1C

    dark_red 0x10

    dark_red_ega 0x10

    dark_teal 0x38

    dark_yellow 0x13

    gold 0x33

    gray_ega 0x17

    gray25 0x16

    gray40 0x37

    gray50 0x17

    gray80 0x3F

    green 0x11

    ice_blue 0x1F

    indigo 0x3E

    ivory 0x1A

    lavender 0x2E

    light_blue 0x30

    light_green 0x2A

    light_orange 0x34

    light_turquoise 0x29

    light_yellow 0x2B

    lime 0x32

    magenta_ega 0x0E

    ocean_blue 0x1E

    olive_ega 0x13

    olive_green 0x3B

    orange 0x35

    pale_blue 0x2C

    periwinkle 0x18

    pink 0x0E

    plum 0x3D

    purple_ega 0x14

    red 0x0A

    rose 0x2D

    sea_green 0x39

    silver_ega 0x16

    sky_blue 0x28

    tan 0x2F

    teal 0x15

    teal_ega 0x15

    turquoise 0x0F

    violet 0x14

    white 0x09

    yellow 0x0D"""

    展开全文
  • python操作excel表格有不少组件,如:xlwt、openpyxl、pandas、xlrd、xlwings,一些组件在使用时有问题;这里选用xlwings,从原Excel报表统计后再生成的新Excel表格
  • 为什么会遇到难么多的小问题呢?说白了就是基础不够扎实吧。一步三磕,一步三碰,前路慢行。   申明:本人只是单纯的记录下自己学习历程,如本文有表达错误的请各位大佬指正,给各位大佬递茶。 本人联系...
  • 读取Excel表格数据的方法 /// <summary> /// 读取excel返回DataTable /// </summary> /// <param name="fileName"></param> /// <param name="sheetName"></param> /// <...
  • python读取excel表格,并将读取的输入写入到新的excel表格遇到的从excel读取日期时变为浮点数的解决办法新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的...
  • 一些网友在使用办公软件的时候,会遇到excel表格打不开的情况,那么,电子表格打不开怎么办?在今天的文章中,小编就给大家分析一下excel表格打不开的几种原因,并且给出相应的解决方法,网友可以根据自己遇到的实际...
  • 工作中我们经常会遇到这种情况,所有的数据都整合在一个Excel表格里面了,现在想按需求分别拆分成多个工作表,有什么好办法吗?利用透视表,我们就可以轻松解决。如下图所示,从销售一部到销售七部的所有业绩,全部...
  • 之后输入pip list检查是否成功配置:xlrd操作#接下来就是常用的语法操作:excel_data = xlrd.open_workbook(文件路径')#得到对应的工作表sheet = excel_data.sheets()[工作表序号]#得到对应工作表中的某一...
  • python在做爬虫时会涉及到数据存储问题,下面说一下将数据存储在excel表格中,主要使用扩展类xlwt,下面详细说一下,主要涉及到了数据列,背景,名称等参数。说明:python3.7、window环境一、类库安装pipinstallxlwt...
  • 在写程序的过程中大家经常会遇到操作Excel进行表格内容读写的需求,这里我给大家分享一下如何用VC++来实现Excel读取。微软的office系统提供了OLE COM自动化功能,通过COM接口操作word和Excel非常方便,在编写代码...
  • Element ui表格导出Excel 以及遇到的坑

    千次阅读 2020-09-04 16:38:36
    项目中遇到需要导出excel的需求 首先安装依赖 首先安装依赖项: npm install -S file-saver xlsx 或者是以下命令,这两个命令一样。 npm install --save xlsx file-saver file-saver:保存文件 xlsx:电子表格...
  • C#读取Excel表格

    2019-10-08 18:16:00
    C#读取Excel表格 这个读取Excel表格的形式,就类似于把Excel 表格当做数据库来看,用法也和数据库的用法差不多,会用数据库的,都会读取Excel表格里面的东西 具体做法如下: //OLEDB连接语句 注意: ...
  • Python 自动整理 Excel 表格

    千次阅读 2019-08-01 14:48:08
    Python 自动整理 Excel 表格 相信有不少朋友日常工作会用到 Excel 处理各式表格文件,更有甚者可能要花大把时间来做繁琐耗时的表格整理工作。最近有朋友问可否编程来减轻表格整理工作量,今儿我们就通过实例来实现 ...
  • 通过搜索得知,我们可以使用xlwt module将数据写入Excel表格,使用xlrd module从Excel读取数据。下面介绍如何实现使用python对Excel进行读写操作。(1)对Excel的写操作:# -*- coding: utf-8 -*-#导入xlwt模块...
  • springboot 导出excel表格

    2018-08-28 18:03:33
    相信很多写后端的小伙伴都会遇到需要导出Excel表格是需求,产品经理说:那个某某某,需要把系统的数据自动导出表格,方便统计。说句实话,这个功能确实很方便管理员整理数据,而且在后端的工作中也经常需要使用此...
  • 今天遇到了一个需求:把大量数据写入excel表格(工作簿),数据分成三类,每一类放进一个sheet,参照了一个教程,这里用的是xlwt和xlrd发现新建sheet的时候,前几个sheet都被清空,内容被覆盖掉了,所以在此作了调整...
  • excel嵌套分类汇总 Excel表格创建嵌套分类汇总和查看嵌套分类汇总明细的方法,我们在工作中会遇到很多文章,像excel嵌套分类汇总这类问题应该大家也都遇到过吧,今天这篇excel嵌套分类汇总 Excel表格创建嵌套...
  • Excel表格的处理在开发工作中经常遇到,包括读取Excel表格 / 将数据导出到Excel。Excel的处理对于开发来说非常重要,本文将详细讲解Excel表格中的各种疑难杂症和疑问,提供解决方案。
  • excel表格里的文字怎么转换成数据1、首先打开电脑,然后在电脑桌面上可以打开或者新建一个excel表格;2、之后进入到excel页面,在页知面的上方找到然后点击excel的文件道按钮,进入文件的页专面,在文件的页面,点击...
  • 前几天项目有读写EXCEL表格的需求,我就找了大概有几种,大致分为:COM方法、ODBC方法、OLE方法、纯底层格式分析方法。由于COM方法要求必须安装有OFFICE的EXCEL组件,纯底层格式分析方法又很多功能需要自行去完善,...
  • excel表格操作

    2012-03-01 15:24:11
    前几天项目有读写EXCEL表格的需求,我就找了大概有几种,大致分为:COM方法、ODBC方法、OLE方法、纯底层格式分析方法。由于COM方法要求必须安装有OFFICE的EXCEL组件,纯底层格式分析方法又很多功能需要自行去完善,...
  • Excel是一种自动化程度非常高的办公软件,但是表格需要加以设置才行。在Excel中有一种特殊的表格,那就是Excel超级表,在超级表中,任务会变得非常简单。下面讲解如何创建“超级表”选中全部表格数据,在“插入”...
  • C# 由Datatable导出Excel遇到问题生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML ...
  • 本文实例讲述了Python实现合并excel表格的方法。分享给大家供大家参考,具体如下: ...遇到问题 读取 好久没写过这个了,竟然在读取的时候出了很多错误,花了很多时间,下面按时间顺序小结一下 因为
  • 前面我们花了6篇博客,把Python的xlwt与xlrd两个第三方模块对Excel表格的基础操作讲完了。从这篇博客开始会选择三个实例来演示,Python对Excel表格可以做一些什么事情。 当然,实际工作中会遇到更多、更复杂的一些...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,767
精华内容 3,906
关键字:

创建excel表格遇到的问题