精华内容
下载资源
问答
  • VB.NET纯代码实现Excel文件的创建 有代码完全模拟Excel文件写法,最终实现无需Excel程序即可自动创建Excel文件
  • excel自动生成创建表语句,支持MySql,Oracle,SQLServer三种创建方式,自动生成目录文档,方便查看与管理。
  • 您可能感兴趣的文章:Python读取excel文件中带公式的值的实现利用python在excel中画图的实现方法python读写Excel表格的实例代码(简单实用)使用 Python 合并多个格式一致的 Excel 文件(推荐)Python使用Pandas读写...
  • java实现创建excel表并导出到本地

    万次阅读 多人点赞 2018-07-19 20:56:31
    1. 创建Member类,此类用来创建对象,存储在excel表格中的数据 ...//创建一个实体对象,用来存储到excel表中 public class Member { private Integer code; private String name; private Int...

    java创建excel的效果图:
    这里写图片描述

    java实现excel导入本地的效果图:
    这里写图片描述

    代码块

    1. 创建Member类,此类用来创建对象,存储在excel表格中的数据

    package com.yu.bai.excel;
    
    import java.util.Date;
    //创建一个实体对象,用来存储到excel表中
    public class Member {
        private Integer code;
        private String name;
        private Integer age;
        private Date birth;
    
        public Member(Integer code, String name, Integer age, Date birth) {
            super();
            this.code = code;
            this.name = name;
            this.age = age;
            this.birth = birth;
        }
    
        public Integer getCode() {
            return code;
        }
    
        public void setCode(Integer code) {
            this.code = code;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public Integer getAge() {
            return age;
        }
    
        public void setAge(Integer age) {
            this.age = age;
        }
    
        public Date getBirth() {
            return birth;
        }
    
        public void setBirth(Date birth) {
            this.birth = birth;
        }
    }

    2. 初始化数据,并运行

    package com.yu.bai.excel;
    
    import java.io.FileOutputStream;
    import java.io.OutputStream;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    import java.util.Set;
    import java.util.UUID;
    
    import org.apache.poi.hssf.usermodel.HSSFCell;
    import org.apache.poi.hssf.usermodel.HSSFCellStyle;
    import org.apache.poi.hssf.usermodel.HSSFRow;
    import org.apache.poi.hssf.usermodel.HSSFSheet;
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    
    /**
     * 创建excel,写入数据,然后下载到本地
     * 
     * @author baiyu
     *
     */
    public class DownloadExcel {
    
        public static void main(String[] args) {
            Map<String, List<String>> memberMap = getMember();
            String[] strArray = excelTitle();
            ExcelUtil.createExcel(memberMap, strArray);
        }
    
        /**
         * 初始化数据,将会被存储到excel表格中
         * 
         * @return
         * @throws Exception
         */
        private static Map<String, List<String>> getMember() {
            List<Member> list = new ArrayList<Member>();
            Map<String, List<String>> map = new HashMap<String, List<String>>();
            SimpleDateFormat df = new SimpleDateFormat("yyyy-mm-dd");
    
            try {
                Member user1 = new Member(1, "熊大", 24, df.parse("1993-08-28"));
                Member user2 = new Member(2, "熊二", 23, df.parse("1994-08-19"));
                Member user3 = new Member(3, "熊熊", 24, df.parse("1983-11-22"));
    
                list.add(user1);
                list.add(user2);
                list.add(user3);
    
                for (int i = 0; i < list.size(); i++) {
                    ArrayList<String> members = new ArrayList<String>();
                    members.add(list.get(i).getCode() + "");
                    members.add(list.get(i).getName());
                    members.add(list.get(i).getAge() + "");
                    members.add(df.format(list.get(i).getBirth()));
                    map.put(list.get(i).getCode() + "", members);
                }
            } catch (ParseException e) {
                e.printStackTrace();
            }
            return map;
        }
    
        /**
         * 创建excel title
         */
        public static String[] excelTitle() {
            String[] strArray = { "学号", "姓名", "年龄", "生日" };
            return strArray;
        }
    }
    

    3. 编写公共的ExcelUtil工具包,用来创建excel,并写入数据,和导入本地

    package com.yu.bai.excel;
    
    import java.io.FileOutputStream;
    import java.util.List;
    import java.util.Map;
    
    import org.apache.poi.hssf.usermodel.HSSFCell;
    import org.apache.poi.hssf.usermodel.HSSFCellStyle;
    import org.apache.poi.hssf.usermodel.HSSFRow;
    import org.apache.poi.hssf.usermodel.HSSFSheet;
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    
    public class ExcelUtil {
        /**
         * @功能:手工构建一个简单格式的Excel
         */
        public static void createExcel(Map<String, List<String>> map, String[] strArray) {
            // 第一步,创建一个webbook,对应一个Excel文件
            HSSFWorkbook wb = new HSSFWorkbook();
            // 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
            HSSFSheet sheet = wb.createSheet("sheet1");
            sheet.setDefaultColumnWidth(20);// 默认列宽
            // 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
            HSSFRow row = sheet.createRow((int) 0);
            // 第四步,创建单元格,并设置值表头 设置表头居中
            HSSFCellStyle style = wb.createCellStyle();
            // 创建一个居中格式
            style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
    
            // 添加excel title
            HSSFCell cell = null;
            for (int i = 0; i < strArray.length; i++) {
                cell = row.createCell((short) i);
                cell.setCellValue(strArray[i]);
                cell.setCellStyle(style);
            }
    
            // 第五步,写入实体数据 实际应用中这些数据从数据库得到,list中字符串的顺序必须和数组strArray中的顺序一致
            int i = 0;
            for (String str : map.keySet()) {
                row = sheet.createRow((int) i + 1);
                List<String> list = map.get(str);
    
                // 第四步,创建单元格,并设置值
                for (int j = 0; j < strArray.length; j++) {
                    row.createCell((short) j).setCellValue(list.get(j));
                }
    
                // 第六步,将文件存到指定位置
                try {
                    FileOutputStream fout = new FileOutputStream("E:/template/Members.xls");
                    wb.write(fout);
                    fout.close();
                } catch (Exception e) {
                    e.printStackTrace();
                }
                i++;
            }
        }
    }
    
    展开全文
  • Aspose.Cells代码创建Excel(C#)

    千次阅读 2016-11-09 14:50:10
    在 WinForm使用Aspose.cells利用模板导出Excel,这篇文章中讲述了如何使用模板进行导出Excel,但是实际上还有比较复杂的Excel导出操作,直接使用模板是无法完成,在这里就要代码创建模板,然后利用创建的模板进行Excel的...

    WinForm使用Aspose.cells利用模板导出Excel,这篇文章中讲述了如何使用模板进行导出Excel,但是实际上还有比较复杂的Excel导出操作,直接使用模板是无法完成,在这里就要代码创建模板,然后利用创建的模板进行Excel的导出。下面来看一个例子:

    项目要实现的效果图如上图,用户可以多选单位客户,然后可进行导出,自动根据单位进行分页,每一个单位至少占一页。
    因为条件是不确定的,单位也是不确定的,所以无法建立一个统一的模板进行导出,也许有人认为利用Group可以实现,但是实际上是不行的,因为单位与实际的数据Table不是在一行的,利用Group时,是会分组,但是下面的数据只有一段,只是创建了多个单位所在的行。下面就说说我的实现方法吧。
    (1)我们依旧要使用模板进行导出,只不过这个模板不是简单的模板,而且我们通过代码创建的一个模板,首先我们要做的就是代码创建模板。而且这个模板是会自动根据数据源进行分页的,并且这个模板是有多个数据的,代码创建的模板如下。

    模板创建的录入实际的数据表格式类似,已经实现了自动的分页,实际上绑定数据只是设置数据源而已。可以看见我们主要是要创建一个如上图的Excel表格,这就稍微有些许简单了吧,下面来看看代码吧。
    (2)Aspose.Cells创建Excel。
    下面是创建代码Excel的主要代码:
    1。创建以上的Excel表格就必须代码明了分页,在这里我新建了一个函数进行创建表格的操作,传入的参数有三个,一个是表格本身,第二个是创建的页的第一行,第三个是数据的总行数。具体的可以看代码,比较简单,主要是如何处理分页的步骤。

            int yeHasCount = 34;//每页有多少行
            int oneYeHasCount = 29;//第一页具有多少行,去除表头以后
            #region
            /// <summary>
            /// 创建Excel表格,每页三十二行,表头+表尾总共五行
            /// </summary>
            /// <param name="workBook"></param>
            /// <param name="i">下一页的第一行</param>
            /// <param name="count">数据的行数</param>
            /// <returns>返回下一个表格开始的行数</returns>
            private int createCheckDetail(Workbook workBook,int i,int count) {
                Worksheet workSheet = workBook.Worksheets[0]; //获取工作簿
                Cells cells = workSheet.Cells;
                //设置行高
                cells.SetRowHeight(i,21);
                cells.SetRowHeight(i+1, 21);
                cells.SetRowHeight(i+2, 21);
                cells.SetRowHeight(i+3, 21);
                cells.SetRowHeight(i + 4, 21);
                cells.SetRowHeight(i + 5, 21);
    
                cells.SetColumnWidth(0,4.5);
                cells.SetColumnWidth(1,8.7);
                cells.SetColumnWidth(2, 24);
                cells.SetColumnWidth(3, 12.5);
                cells.SetColumnWidth(4, 8.5); 
                cells.SetColumnWidth(5, 5.0); 
                cells.SetColumnWidth(6, 8);
                cells.SetColumnWidth(7,10.9);
    
                Style style1 = workBook.Styles[workBook.Styles.Add()];
                //设置居中
                style1.HorizontalAlignment = Aspose.Cells.TextAlignmentType.Center;
                style1.VerticalAlignment = Aspose.Cells.TextAlignmentType.Center;
                //设置背景颜色
                style1.Font.IsBold = true;
                style1.Font.Name = "宋体";
                style1.Font.Size = 12;
                style1.IsTextWrapped = true; //自动换行
    
                Style styleBorder = workBook.Styles[workBook.Styles.Add()];//边界线
                styleBorder.Borders[BorderType.LeftBorder].LineStyle = CellBorderType.Thin; //应用边界线 左边界线
                styleBorder.Borders[BorderType.RightBorder].LineStyle = CellBorderType.Thin; //应用边界线 右边界线
                styleBorder.Borders[BorderType.TopBorder].LineStyle = CellBorderType.Thin; //应用边界线 上边界线
                styleBorder.Borders[BorderType.BottomBorder].LineStyle = CellBorderType.Thin; //应用边界线 下边界线
                styleBorder.HorizontalAlignment = Aspose.Cells.TextAlignmentType.Center;
                styleBorder.VerticalAlignment = Aspose.Cells.TextAlignmentType.Center;
                styleBorder.Font.IsBold = false;
                styleBorder.Font.Name = "宋体";
                styleBorder.Font.Size = 10;
                styleBorder.IsTextWrapped = true;
    
                Style styleNormal = workBook.Styles[workBook.Styles.Add()];
                styleNormal.HorizontalAlignment = Aspose.Cells.TextAlignmentType.Left;
                styleNormal.VerticalAlignment = Aspose.Cells.TextAlignmentType.Center;
                styleNormal.Font.IsBold = false;
                styleNormal.Font.Name = "宋体";
                styleNormal.Font.Size = 10;
                styleNormal.IsTextWrapped = true;
    
                Range range = cells.CreateRange(i, 0, 1, 8); // 创建列
                Cell cell = range[0, 0];
                range.Merge();
                cell.PutValue("诚驰单位拖车明细对账表");
                cell.SetStyle(style1);
    
                StyleFlag styleFlag = new StyleFlag();
                styleFlag.FontBold = false;
                styleFlag.VerticalAlignment = true;
                styleFlag.HorizontalAlignment = true;
                styleFlag.FontSize = false;
                styleFlag.FontName = true;
                if (i == 0)
                {
                    cells.ApplyStyle(style1, styleFlag);
                }
    
                range = cells.CreateRange(i + 1, 0, 1, 4);
                cell = range[0, 0];
                cell.SetStyle(styleNormal);
                range.Merge();
                cell.PutValue("&=$clientName" + i);
    
                range = cells.CreateRange(i + 1, 4, 1, 4);
                cell = range[0, 0];
                range.Merge();
                cell.PutValue("&=$time");
    
                cell = cells[i+2,0];
                cell.SetStyle(styleBorder);
                cell.PutValue("序号");
                cell = cells[i + 2, 1];
                cell.SetStyle(styleBorder);
                cell.PutValue("时间");
                cell = cells[i + 2, 2];
                styleBorder.HorizontalAlignment = TextAlignmentType.Left;
                cell.SetStyle(styleBorder);
                cell.PutValue("地点(方位)");
                cell = cells[i + 2, 3];
                styleBorder.HorizontalAlignment = TextAlignmentType.Center;
                cell.SetStyle(styleBorder);
                cell.PutValue("被救车辆");
                cell = cells[i + 2, 4];
                cell.SetStyle(styleBorder);
                cell.PutValue("救援费用");
                cell = cells[i + 2, 5];
                cell.SetStyle(styleBorder);
                cell.PutValue("现/欠");
                cell = cells[i + 2, 6];
                cell.SetStyle(styleBorder);
                cell.PutValue("发票号");
                cell = cells[i + 2, 7];
                cell.SetStyle(styleBorder);
                cell.PutValue("备注");
    
                /** 添加datagid **/
                cell = cells[i + 3, 0];
                cell.PutValue("&=JiuYuanDingDan" + i + ".序号(noadd,numeric)");
                cell = cells[i + 3, 1];
                cell.PutValue("&=JiuYuanDingDan" + i + ".预订救援时间(noadd)");
                cell = cells[i + 3, 2];
                styleBorder.HorizontalAlignment = TextAlignmentType.Left;
                cell.PutValue("&=JiuYuanDingDan" + i + ".起止地点(noadd)");
                cell = cells[i + 3, 3];
                styleBorder.HorizontalAlignment = TextAlignmentType.Center;
                cell.PutValue("&=JiuYuanDingDan" + i + ".故障车牌(noadd)");
                cell = cells[i + 3, 4];
                cell.PutValue("&=JiuYuanDingDan" + i + ".救援费用(noadd,numeric)");
                cell = cells[i + 3, 5];
                cell.PutValue("&=JiuYuanDingDan" + i + ".现/欠(noadd)");
                cell = cells[i + 3, 6];
                cell.PutValue("&=JiuYuanDingDan" + i + ".发票号(noadd)");
                cell = cells[i + 3, 7];
    
                range = cells.CreateRange(i + 3 + count, 0, 1, 4);
                range.Merge();
                cell = range[0,0];
                styleBorder.Font.Size = 10;
                cell.SetStyle(styleBorder);
                cell.PutValue("合计");
    
                cell = cells[i + 3+count, 1];
                cell.SetStyle(styleBorder);
                cell = cells[i + 3 + count, 2];
                cell.SetStyle(styleBorder);
                cell = cells[i + 3 + count, 3];
                cell.SetStyle(styleBorder);
    
                cell = cells[i + 3 + count, 4];
                cell.SetStyle(styleBorder);
                cell.PutValue("&=$Total" + i);
    
                cell = cells[i + 3 + count, 5];
                cell.SetStyle(styleBorder);
                cell = cells[i + 3 + count, 6];
                cell.SetStyle(styleBorder);
                cell = cells[i + 3 + count, 7];
                cell.SetStyle(styleBorder);
    
                //联系方式
                range = cells.CreateRange(i + 4 + count, 0, 1, 4);
                cell = range[0, 0];
                range.Merge();
                cell.SetStyle(styleNormal);
                cell.PutValue("&=$Contact");
    
                //制单人
                range = cells.CreateRange(i + 4 + count, 4, 1, 4);
                cell = range[0, 0];
                range.Merge();
                cell.SetStyle(styleNormal);
                cell.PutValue("&=$CreateUser");
                int startIndex = i;//设置起始位置为i,第一页只要27行就会换页,之后每32行便会换页
    
                if (count <= oneYeHasCount)
                {
                    startIndex += yeHasCount;
                }
                else {//继续分页 
                    int yeshu = 1;
                    if (yeshu % yeHasCount == 0)
                    {
                        yeshu += count / yeHasCount;
                    }
                    else {
                        yeshu += count / yeHasCount + 1;
                    }
                    startIndex += yeHasCount * yeshu;
                }  
                int leftIndex = i;
                for (; i < startIndex; i++) {
                    cells.SetRowHeight(i, 21);
                    if (i >= leftIndex + 3 && i < leftIndex + 3 + count)
                    {
                        for (int j = 0; j < 8; j++)
                        {
                            cell = cells[i, j];
                            styleBorder.Font.Size = 8;
                            if (j == 2)
                            {
                                styleBorder.HorizontalAlignment = TextAlignmentType.Left;
                            }
                            else
                            {
                                styleBorder.HorizontalAlignment = TextAlignmentType.Center;
                            }
                            cell.SetStyle(styleBorder);
                        }
                    }
                }
                return startIndex;
            }
            #endregion

    2.如何去调用创建分页
    调用创建分页的函数,主要是对数据的处理,对不同客户分割成不同的表格,然后将表格设置进DataSet,主要在于数据表中的赋值吧,代码比较简单,通过代码了解的更透彻咯。
    代码如下:

     if (dataGridView订单.Rows.Count <= 1)
                    {
                        return;
                    }
                    string startTime = ReplaceSplit(dateTimeInput开始.Value.ToShortDateString().ToString(),"/");
                    string stopTime = ReplaceSplit(dateTimeInput结束.Value.ToShortDateString().ToString(),"/");
                    //DataTable dt = getDataTable("JiuYuanDingDan");
                    //Dictionary<String, Object> dictSource = new Dictionary<string, object>();
                    //dictSource.Add("time", "时间:" + startTime + "至" + stopTime);
                    //dictSource.Add("clientName",textBox客户名称.Text);
                    //dictSource.Add("Total", total);
           //TemplateExcelHelper.TemplateExportExcel("Templates/DEFAULT.xls",dt,dictSource);
    
    
                    Dictionary<String, Object> dictSource = new Dictionary<string, object>();
                    dictSource.Add("time", "时间:" + startTime + "至" + stopTime);
                    dictSource.Add("Contact",clientTemplate.CompanyName + "24小时热线:" + clientTemplate.ContactPhone);
                    dictSource.Add("CreateUser", "制单人:" + MainFrm.userInfo.UserName);
    
                    DataSet ds = new DataSet();
                    DataTable dt = getDataTable("JiuYuanDingDan");
                    string clientName = "";
                    DataTable newDt = dt.Copy();
                    newDt.Clear();
                    DataRow newDr = newDt.NewRow();
                    foreach (DataRow dr in dt.Rows)
                    {
                        if (!clientName.Equals("")&&!clientName.Equals(dr["客户名称"].ToString().Trim()))//添加DataTable到DataSet同时清空数据
                        {
                            newDt.TableName = clientName;
                            ds.Tables.Add(newDt.Copy());
                            newDt.Clear();
                        }
                        //添加到表格
                        newDr.ItemArray = dr.ItemArray;
                        newDt.Rows.Add(newDr);
                        newDr = newDt.NewRow();
                        clientName = dr["客户名称"].ToString().Trim();
                    }
                    newDt.TableName = clientName;
                    ds.Tables.Add(newDt);  //添加最后的至DataSet
    
                    Workbook workBook = new Workbook();
                    int startIndex = 0;
                    foreach (DataTable eachDt in ds.Tables) {
                        dictSource.Add("clientName" + startIndex, " 单位:" + eachDt.Rows[0]["客户名称"].ToString().Trim());
                        eachDt.TableName = "JiuYuanDingDan" + startIndex;
                        dictSource.Add("total"+startIndex , eachDt.Compute("sum(救援费用)",null));
                        startIndex = createCheckDetail(workBook, startIndex, eachDt.Rows.Count);
                    }
                    workBook.Save(Application.StartupPath + "/Templates/SELF_CHECK_DETAIL.xlsx");
                    TemplateExcelHelper.TemplateExportExcel(Application.StartupPath + "/Templates/SELF_CHECK_DETAIL.xlsx",ds,dictSource,false,"");

    总结:这是一个对Aspose.Cells比较复杂的应用,不过实现了这个对Aspose.Cells和了解会很透彻,如果需要用到的话,可以好好了解一下,不清楚的话,可以互相交流。Aspose是一个操作Word,Excle等办公软件比较方便也是比较全面的框架,也支持了多种语言,比如说C#、Java,导入导出是很方便和灵活的。

    展开全文
  • 链表类的节点存放一个类对象,读取excel一行多字段数据信息,创建excel和读取excel,货真价实;
  • python读取Excel表格文件

    万次阅读 多人点赞 2019-07-26 10:55:52
    python读取Excel表格文件,例如获取这个文件的数据 python读取Excel表格文件,需要如下步骤: 1、安装Excel读取数据的库-----xlrd 直接pip install xlrd安装xlrd库 #引入Excel库的xlrd import xlrd 2、...

    python读取Excel表格文件,例如获取这个文件的数据

    python读取Excel表格文件,需要如下步骤:

    1、安装Excel读取数据的库-----xlrd

    直接pip install xlrd安装xlrd库

    #引入Excel库的xlrd
    import xlrd

    2、获取Excel文件的位置并且读取进来

    #导入需要读取Excel表格的路径
    data = xlrd.open_workbook(r'C:\Users\NHT\Desktop\Data\\test1.xlsx')
    table = data.sheets()[0]

    3、读取指定的行和列的内容,并将内容存储在列表中(将第三列的时间格式转换)

    #创建一个空列表,存储Excel的数据
    tables = []
    
    
    #将excel表格内容导入到tables列表中
    def import_excel(excel):
       for rown in range(excel.nrows):
          array = {'road_name':'','bus_plate':'','timeline':'','road_type':'','site':''}
          array['road_name'] = table.cell_value(rown,0)
          array['bus_plate'] = table.cell_value(rown,1)
          #将Excel表格中的时间格式转化
          if table.cell(rown,2).ctype == 3:
             date = xldate_as_tuple(table.cell(rown,2).value,0)
             array['timeline'] = datetime.datetime(*date)
          array['road_type'] = table.cell_value(rown,3)
          array['site'] = table.cell_value(rown,4)
          tables.append(array)

    4、运行程序

    if __name__ == '__main__':
       #将excel表格的内容导入到列表中
       import_excel(table)
       #验证Excel文件存储到列表中的数据
       for i in tables:
           print(i)

    5、最终的运行效果如下:

    6、完整的程序代码:

    import xlrd
    from xlrd import xldate_as_tuple
    import datetime
    
    #导入需要读取的第一个Excel表格的路径
    data1 = xlrd.open_workbook(r'C:\Users\NHT\Desktop\Data\\test.xlsx')
    table = data1.sheets()[0]
    #创建一个空列表,存储Excel的数据
    tables = []
    #将excel表格内容导入到tables列表中
    def import_excel(excel):
       for rown in range(excel.nrows):
          array = {'road_name':'','bus_plate':'','timeline':'','road_type':'','site':''}
          array['road_name'] = table.cell_value(rown,0)
          array['bus_plate'] = table.cell_value(rown,1)
          if table.cell(rown,2).ctype == 3:
             date = xldate_as_tuple(table.cell(rown,2).value,0)
             array['timeline'] = datetime.datetime(*date)
          array['road_type'] = table.cell_value(rown,3)
          array['site'] = table.cell_value(rown,4)
          tables.append(array)
    
    if __name__ == '__main__':
       #将excel表格的内容导入到列表中
       import_excel(table)
       for i in tables:
           print(i)

                                                                  关注公众号“人工智能技术服务”,获取更多的资讯。

    展开全文
  • 此源代码用C#语言创建Excel文档,并进行了读取和写入操作。
  • excel中支持mysql(主键自增),sqlserver自动创建表语句,方便文档留存查看。oracle也写了宏指令,office打开文档,按alt+F11自行改宏代码
  • 2、准备好excel数据表格, 3、使用Pandas读取excel数据, 4、Pandas读取指定(限定)行的excel数据, 5、Pandas读取指定(限定)列的excel数据, 6、Pandas读取同时指定行和列的excel数据, 7、pandas处理Excel数据...

    目录

    1、准备工作

    2、准备好excel数据表格

    3、使用Pandas读取excel数据

    4、Pandas读取指定(限定)行的excel数据

    5、Pandas读取指定(限定)列的excel数据

    6、Pandas读取同时指定行和列的excel数据

    7、pandas处理Excel数据成为字典

    8、pandas数据写入Excel文件


    1、准备工作

    (1):准备好Python或者Anaconda的pandas库,安装:pip install pandas
    (2):pandas依赖处理Excel的xlrd模块,安装命令:pip install xlrd
    (3):打开代码编辑器jupyter、ipython、pycharm,根据自己习惯和需求选用。

    2、准备好excel数据表格

    3、使用Pandas读取excel数据

    df = pd.read_excel('路径',sheet_name='excel中的哪个表,表名/位置')

    如果不使用sheet_name='***',默认读取第一张表

    import pandas as pd
    import xlrd
    
    #读取sheet_name='table1'的数据
    df=pd.read_excel('e:\pandas_excel.xlsx',sheet_name='table1') #根据表的名称
    #df = pd.read_excel("e:\pandas_excel.xlsx",sheet_name=0)  #根据表的位置
    print(df.head())#默认读取前5行的数据
    print(df)#输出全部数据
    
    >>结果
       name_id    name address
    0     1001   jalen      广州
    1     1002    lili      杭州
    2     1003    nini      深圳
    3     1004      xr      贵阳
    4     1005  weiwei      武汉
       name_id        name address
    0     1001       jalen      广州
    1     1002        lili      杭州
    2     1003        nini      深圳
    3     1004          xr      贵阳
    4     1005      weiwei      武汉
    5     1006  liangliang      广州
    6     1007    pengpeng      杭州
    
    
    #读取sheet_name='table2'的数据
    df1 = pd.read_excel('e:\pandas_excel.xlsx',sheet_name='table2')#根据表的名称
    #df1 = pd.read_excel("e:\pandas_excel.xlsx",sheet_name=1)  #根据表的位置
    print(df1.head(2))#读取前2行的数据
    print(df1)#输出全部数据
    
    >>结果
       address_id address
    0          10      广州
    1          12      杭州
       address_id address
    0          10      广州
    1          12      杭州
    2          11      深圳
    3          14      贵阳
    4          13      武汉

    4、Pandas读取指定(限定)行的excel数据

    import pandas as pd
    import xlrd
    df = pd.read_excel('e:\pandas_excel.xlsx',sheet_name='table1')#根据表的名称
    print(df.head(10))#只能限定行方向的高度,取前10行
    print(df.ix[[0,2,3]].values)  #返回指定的行的ndarray结果
    print(df.ix[[0,2,3]])   #返回指定的行的DataFrame结果
    print(df.index[0:5:2]) #返回指定的index结果
    print(df.ix[df.index[0:5:2]].values) #根据index返回指定的行的ndarray结果
    print(df.ix[df.index[0:5:2]]) #根据index返回指定的行的DataFrame结果

    5、Pandas读取指定(限定)列的excel数据

    df = pd.read_excel('e:\pandas_excel.xlsx',sheet_name='table1')#根据表的名称
    print(df['name'].values) #只能获取单列值
    print(df.ix[:,["name","address"]]) #返回指定的列的DataFrame结果
    print(list(df.columns[0:3:1]))  #返回columns结果
    print(df.ix[:,list(df.columns[1:3:1])].values) #根据index返回指定的列的ndarray结果
    print(df.ix[:,list(df.columns[1:3:1])]) #根据index返回指定的列的DataFrame结果

    6、Pandas读取同时指定行和列的excel数据

    df = pd.read_excel('e:\pandas_excel.xlsx',sheet_name='table1')#根据表的名称
    d = df.ix[list(df.index[3:5:1]),list(df.columns[1:3:1])] #3,4行,1,2列,起始行列都为0
    print(d)

    7、pandas处理Excel数据成为字典

    df = pd.read_excel('e:\pandas_excel.xlsx',sheet_name='table1')#根据表的名称
    d = []
    for i in df.index[::]:
        d_row = df.ix[i,list(df.columns[0:3:1])].to_dict()
        d.append(d_row)
    print(d)

    8、pandas数据写入Excel文件

    当需要写入多个Sheet时,则需要在写入前创建好一个Excel文件,否则可以直接写入。

    语法:

    df.to_excel(excel_writer, sheet_name=’Sheet1’, na_rep=”, float_format=None, columns=None, header=True, index=True, index_label=None, startrow=0, startcol=0, engine=None, merge_cells=True, encoding=None, inf_rep=’inf’, verbose=True, freeze_panes=None)

    部分参数解释:

    excel_writer:文件名、文件具体、相对路径、文件对象等
    sheet_name:写入时设定Sheetname,默认为’Sheet1’
    sep:文件分割符号
    na_rep:将NaN转换为特定值
    columns:选择部分列写入
    header:忽略列名
    index:False则选择不写入索引

    写入单个Sheet表格

    只能写入一个Sheet表格,多次写入则会清除excel文件中的内容

    df.to_excel('e:\df.xlsx')

    自定义Sheetname

    df.to_excel('e:\df.xlsx',sheet_name='table1')

    同一个Excel文件写入多个Sheet表格

    写入多个Sheet时,则需要在写入前创建好一个Excel文件

    写入多个表时,需要用到pd.ExcelWriter()打开一个Excel文件

    work=pd.ExcelWriter(''e:\df.xlsx'')
    df.to_excel(work,sheet_name='table1')
    df1.to_excel(work,sheet_name='table2')

    展开全文
  • Python读取Excel表格,并同时画折线图和柱状图

    万次阅读 多人点赞 2018-06-08 13:48:05
    今日给大家分享一个Python读取Excel表格,同时采用表格中的数值画图柱状图和折线图,这里只需要几行代码便可以实。首先我们需要安装一个Excel操作的库xlrd,这个很简单,在安装Python后直接在DOS命令下输入pip ...
  • C#创建Excel文件并将数据导出到Excel文件

    千次下载 热门讨论 2014-05-11 00:30:41
    C#创建Excel文件并将数据导出到Excel文件,实现效果及细节参考: http://blog.csdn.net/testcs_dn/article/details/25509249
  • 如何在Python中创建Excel表格

    万次阅读 多人点赞 2018-07-31 21:24:56
    之前在学习os模块中,我们知道了如何创建一个txt格式的文件(具体操作见https://mp.csdn.net/postedit/80903024) ...创建Excel表格一般有两种方法: 一:通过导入xlwt库来创建,这种是最常规的方法,...
  • pandas新建excel并设置表头

    千次阅读 2021-02-17 17:51:44
    #创建一个名字为excel_file_name的excel文件 #这里把表头设置为(姓名name,年龄age,性别gender,城市city,技能skill) def create_form(excel_file_name): form_header = ['姓名name', '年龄age', '性别gender'...
  • 创建excel文档代码

    2011-08-24 21:21:21
    创建excel文档代码,用于VS2010以数据源方式创建Excel文件
  • vc++使用MFC操作EXCEL文件 创建+编辑+保存 详细过程及VC源文件
  • C++写的excel表格生成功能(功能齐全)
  • C语言再学习 -- 创建excel文件

    千次阅读 2020-10-17 13:33:08
    这篇文章讲一下怎么生成excel表xsl格式文件。 注意点: 1、文件类型为 xls 或者 xlsx 2、使用fprintf写入 3、了解转义字符 参看:C语言再学习 – 转义字符 示例: uint32_t Create_Excel (void) { FILE* fp_txt = ...
  • HTML表格生成Excel文件代码 纯前端 demo 可以做参考~~
  • 使用ADOX创建Excel文件[使用ADOX创建Excel文件]-精品源代码
  • 代码文档生成工具 此回购包含一个工具,可以从特定的Excel工作中创建代码,也可以从代码创建Excel工作。 更多它可以创建它的文档。
  • Python生成自定义表头Excel

    千次阅读 2020-07-21 16:49:28
    前言 ...的 pandas ,除了install 开头的三个模块,还需要insatll openpyxl(pandas必需)、lxml(我代码必需) 代码 import requests as rq from bs4 import BeautifulSoup import pandas as pd heade
  • 需求① 在一个工作簿(workbook)中根据已知的工作名称创建多个工作并分别命名,可以创建同时当然需要研究增删改工作。思路:研究vba的基础语法,知道了workbooks(工作簿集)、workbook(工作簿)、worksheet...
  • java代码中实现excel表下载

    千次阅读 2018-05-17 00:23:17
    // 创建Excel的工作书册 Workbook,对应到一个excel文档 HSSFWorkbook wb = new HSSFWorkbook(); init(wb); // 创建Excel的工作sheet,对应到一个excel文档的tab HSSFSheet sheet = wb.createSheet("sheet...
  • ![图片说明](https://img-ask.csdn.net/upload/201508/20/1440078524_63109.png)
  • python创建Excel文件及写入保存数据

    千次阅读 2021-02-15 21:24:06
    文章目录python创建Excel文件及写入保存数据一、 创建并保存Excel文档二、工作的创建三、完整代码结果展示 一、 创建并保存Excel文档 首先调用我们的openpyxl.Workbook()函数,创建一个新的空的Workbook对象。...
  • 详细讲述C#创建excel代码,以及把数组保存到创建的excel。源码经过VS2008编译通过并成功执行
  • Python进阶-Numpy科学计算库

    千人学习 2018-12-18 13:36:31
    本课程会讲解到numpy中最核心的一些知识点,包括numpy的属性,创建array,numpy的运算,矩阵运算,随机数生成,numpy的索引,array的合并与分割,numpy的浅拷贝深拷贝等内容。帮助大家快速掌握numpy的使用。
  • Excel生成MYSQL建表语句

    2020-12-25 17:11:41
    JAVA编写,填写好excel模板,点击“点我运行.bat”,即可生成sql语句。没有积分下载的话可以看我的文章,有完成的源代码
  • java如何创建excel表格并插入数据

    千次阅读 2018-05-16 18:12:39
    1、需要的jar包2、java代码(1) 创建xxx.xlsx文件,及2007版本package com.gl;import java.io.FileOutputStream;import org.apache.poi.ss.util.CellRangeAddress;import org.apache.poi.xssf.usermodel.XSSFCell;...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 98,846
精华内容 39,538
关键字:

如何用代码创建excel表