精华内容
下载资源
问答
  • 使用ipython pandas源代码,实现EXCEL表格操作,适合做EXEL,批量大表的操作。简单易懂,配有函数说明。
  • Excel表格转换为MarkDown表格,可拖拽图片上传,支持数学公式等等,单纯就Markdown的支持来说,比sublime要好
  • 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表格的导出功能,包含xls和xlsx两种格式。 程序有添加关于NOPI的引用,有疑问可以参考我的csdn博客http://blog.csdn.net/my_clear_mind
  • 为开发者提供:Java代码中读取Excel表格中的数据,所需要的jar包。
  • EXCEL表格大全(2000多套)+办公室专用表格200套,制作OA系统必备
  • labview读取Excel表格中的数据,速度快,代码实现简单,下载下来直接就可以使用了
  • Android将数据写入Excel表格并存储到外部存储中
  • Android数据转化为Excel表格导入导出

    热门讨论 2016-03-08 14:11:51
    Android数据转化为Excel表格导入导出,利用jxl.jar
  • C#中读取Excel表格数据实例

    热门讨论 2015-03-08 19:25:04
    用C#开发的一个读取Excel表格的Demo,无需安装office。
  • python操作excel表格有不少组件,如:xlwt、openpyxl、pandas、xlrd、xlwings,一些组件在使用时有问题;这里选用xlwings,从原Excel报表统计后再生成的新Excel表格

    0、前言

             因产品的同学试着用python统计Excel表格,但百度的程序又一直有各种问题, 所以叫我帮用python实现一个统计Excel表格程序;我之前也没有写过python操作Excel表格的程序,快速搜索实现了一下,还是发现一些问题,所以分享一下。

    1、需求       

            我们使用TAPD管理项目,这里从TAPD导出的原Excel报表,统计后再生成的新Excel表。
            原Excel报表是任务(标题)的信息列表,需要按需求分类分别统计各处理人的预估工时,如下(图1原始Excel表格有200多行、图2统计生成的新Excel表格):

    原始Excel表格
    统计生成的新Excel表格

    2、python操作excel表格说明

            python操作excel表格有不少组件,如:xlwt、openpyxl、pandas、xlrd、xlwings
            
            一些组件在使用时有问题,如下:
                    https://blog.csdn.net/weixin_42555985/article/details/102872781
                    https://www.jianshu.com/p/8640abf11297
            
            这里选用xlwings,xlwings使用接近VBA的语法从Python自动与Excel交互,注意是使用到Excel软件;
            官方文档及一些参考如下:
                    https://docs.xlwings.org/en/stable/index.html
                    https://blog.csdn.net/whalefall/article/details/102665002
                    http://www.dszhp.com/xlwings-range.html
                    https://www.cnblogs.com/cyanrose/p/12059040.html
                    https://blog.csdn.net/lh_hebine/article/details/104559382
            
            当然xlwing使用中也发现一个问题,range().expand()选择表格范围时无法识别一行/一列中的空值,遇到空值默认读取终止:
                    https://blog.csdn.net/weixin_44781801/article/details/88692982
            下面程序会跳过一行/一列的范围选择问题。

    3、python xlwings操作excel表格程序

            目录下有111.py脚本、原始excel表格222.xls和生成的excel表格333.xls;

            直接运行程序: $ python 111.py
            即可实现222.xls --统计、生成--> 333.xls,效果如前面的excel表格图片;
            下面是python 111.py脚本程序,可在python2.7运行:

    # -*- coding: utf-8 -*-
    import xlwings as xw
    import sys
    
    
    class Story(object):
    
        def __init__(self, handler, workingHours, demandClassification):
            self.handler = handler
            self.workingHours = workingHours
            self.demandClassification = demandClassification
    
        def get_handler(self):
            return self.handler
    
        def get_workingHours(self):
            return self.workingHours
    
        def get_demandClassification(self):
            return self.demandClassification
    
        def __str__(self):
            return "处理人:" + self.handler + ", 预估工时:" + str(self.workingHours) + ", 需求分类:" + self.demandClassification
    
    
    filePath = r'222.xls'
    newFilePath = r'333.xls'
    
    
    reload(sys)
    sys.setdefaultencoding('utf8')
    
    app = None
    wb = None
    wbNew = None
    appNew = None
    try:
        app = xw.App(visible=False, add_book=False)
        app.display_alerts = False
        app.screen_updating = False
        wb = app.books.open(filePath)
    
        sht = wb.sheets.active
        # shtName=sht.name
        # print(shtName)
    
        rowCount = sht.range('A1').expand('table').rows.count
        # print(rowCount)
        data = sht.range('A3:G' + str(rowCount)).value
        # print(data)
        storyList = list()
        for i in range(len(data)):
            # print(data[i])
            # for j in range(len(data[i])):
                # print(data[i][j])
            handler = data[i][1]
            workingHours = data[i][4]
            demandClassification = data[i][5]
            if handler is None:
                handler = "未安排处理人"
            if workingHours is None:
                workingHours = 0
            if demandClassification is None:
                demandClassification = "未知需求分类"
    
            story = Story(str(handler), int(str(workingHours)),
                          str(demandClassification))
            storyList.append(story)
            # print(str(story))
    
        if len(storyList) > 0:
            handlerSet = set()
            demandClassificationSet = set()
            workingHoursMap = dict()
            for story in storyList:
                handlerSet.add(story.get_handler())
                demandClassificationSet.add(story.get_demandClassification())
                key = str(story.get_handler() + story.get_demandClassification())
                if workingHoursMap.get(key) is None:
                    workingHoursMap[key] = 0
                workingHoursMap[key] = workingHoursMap.get(
                    key) + story.get_workingHours()
    
            handlerList = list(handlerSet)
            demandClassificationList = list(demandClassificationSet)
            workingHoursList = []
            handlerGbkList = []
            demandClassificationGbkList = []
            change = False
            for j in range(len(demandClassificationList)):
                workingHoursList.append([])
                for k in range(len(handlerList)):
                    key = str(handlerList[k] + demandClassificationList[j])
                    workingHoursList[j].append(workingHoursMap.get(key))
                    if change is False:
                        handlerGbkList.append(handlerList[k].encode("gbk"))
                change = True
                demandClassificationGbkList.append(
                    demandClassificationList[j].encode("gbk"))
    
            try:
                appNew = xw.App(visible=False, add_book=False)
                appNew.display_alerts = False
                appNew.screen_updating = False
                wbNew = appNew.books.add()
                shtNew = wbNew.sheets['sheet1']
    
                shtNew.range('A2').options(
                    transpose=True).value = demandClassificationGbkList
                shtNew.range('B1').value = handlerGbkList
                shtNew.range('B2').value = workingHoursList
    
                wbNew.save(newFilePath)
    
            finally:
                if wbNew is not None:
                    wbNew.close()
                if appNew is not None:
                    appNew.quit()
    finally:
        if wb is not None:
            wb.close()
        if app is not None:
            app.quit()
    

     

    展开全文
  • javaweb JSP页面导出和导入excel表格

    千次下载 热门讨论 2015-04-16 18:46:11
    这段时间闲来无事,想研究一下办公系统中的导出和导入excel表格功能,最后终于弄出来,现在给广大需要的新手朋友参考使用
  • 《2014最新全国街道乡镇级以上行政区划代码表.xls》EXCEL表数据 《mysqlDB(全国各省、市、县、镇、村数).sql》MYSQL数据有131MB 导入到mysql可能出现的问题解决方案: http://blog.jjonline.cn/linux/116.html
  • Nodejs获取网络数据并生成Excel表格

    热门讨论 2015-07-13 22:58:24
    Nodejs获取网络数据并生成Excel表格:http://blog.csdn.net/qxs965266509/article/details/46851947
  • vb6.0操作Excel表格代码

    2013-04-09 17:01:09
    使用VB软件新建一张Excel表格,并对Execl表格进行相关操作,包括合并单元格,调节单元格宽度、背景颜色、字体、字体颜色等,向excel表格中写数据。希望对大家有帮助!
  • excel表格导入CAD插件

    2013-11-28 10:06:32
    基于VBA开发的cad插件,能将excel导入CAD
  • CAD表格与EXCEL表格相互转换工具,对钢结构行业中,有cad电子版图纸算工程量的时候会有很大帮助,机械行业,零件表可以先做成excel 再导入,很完美,推荐给大家
  • Python3读取和写入excel表格数据

    万次阅读 多人点赞 2020-04-13 21:04:15
    一、python读取excel表格数据 1、读取excel表格数据常用操作 2、xlrd模块的主要操作 3、读取单元格内容为日期时间的方式 4、 读取合并单元格的数据 二、python写入excel表格数据 1、写入excel表格数据常用操作...

    目录

    一、python读取excel表格数据

    1、读取excel表格数据常用操作

    2、xlrd模块的主要操作

    3、读取单元格内容为日期时间的方式

    4、 读取合并单元格的数据

    二、python写入excel表格数据

    1、写入excel表格数据常用操作和格式设置

    2、字体颜色和背景颜色对应索引号


    python操作excel主要用到 xlrd  xlwt 这两个库,xlrd读取excel表格数据, 支持 xlsx和xls格式的excel表格 ;xlwt写入excel表格数据;

    一、python读取excel表格数据

    1、读取excel表格数据常用操作

    import xlrd
    
    # 打开excel表格
    data_excel=xlrd.open_workbook('data/dataset.xlsx')
    
    # 获取所有sheet名称
    names=data_excel.sheet_names()
    
    # 获取book中的sheet工作表的三种方法,返回一个xlrd.sheet.Sheet()对象
    table=data_excel.sheets()[0]  # 通过索引顺序获取sheet
    table=data_excel.sheet_by_index(sheetx=0) # 通过索引顺序获取sheet
    table=data_excel.sheet_by_name(sheet_name='Sheet1') # 通过名称获取
    
    # excel工作表的行列操作
    n_rows=table.nrows  # 获取该sheet中的有效行数
    n_cols=table.ncols  # 获取该sheet中的有效列数
    row_list=table.row(rowx=0)  # 返回某行中所有的单元格对象组成的列表
    cols_list=table.col(colx=0) # 返回某列中所有的单元格对象组成的列表
    # 返回某行中所有单元格的数据组成的列表
    row_data=table.row_values(0,start_colx=0,end_colx=None)
    # 返回某列中所有单元格的数据组成的列表
    cols_data=table.col_values(0,start_rowx=0,end_rowx=None)
    row_lenth=table.row_len(0)  # 返回某行的有效单元格长度
    
    # excel工作表的单元格操作
    row_col=table.cell(rowx=0,colx=0)  # 返回单元格对象
    row_col_data=table.cell_value(rowx=0,colx=0) # 返回单元格中的数据

    2、xlrd模块的主要操作

    import xlrd
    
    """ 打开excel表格"""
    workbook = xlrd.open_workbook("data.xlsx")
    print(workbook)             # 结果:<xlrd.book.Book object at 0x000000000291B128>
    
    """ 获取所有sheet名称"""
    sheet_names = workbook.sheet_names()
    print(sheet_names)          # 结果:['表1', 'Sheet2']
    
    """ 获取所有或某个sheet对象"""
    # 获取所有的sheet对象
    sheets_object = workbook.sheets()
    print(sheets_object)        # 结果:[<xlrd.sheet.Sheet object at 0x0000000002956710>, <xlrd.sheet.Sheet object at 0x0000000002956AC8>]
    # 通过index获取第一个sheet对象
    sheet1_object = workbook.sheet_by_index(0)
    print(sheet1_object)        # 结果:<xlrd.sheet.Sheet object at 0x0000000002956710>
    # 通过name获取第一个sheet对象
    sheet1_object = workbook.sheet_by_name(sheet_name="表1")
    print(sheet1_object)        # 结果:<xlrd.sheet.Sheet object at 0x0000000002956710>
    
    """ 判断某个sheet是否已导入"""
    # 通过index判断sheet1是否导入
    sheet1_is_load = workbook.sheet_loaded(sheet_name_or_index=0)
    print(sheet1_is_load)       # 结果:True
    # 通过sheet名称判断sheet1是否导入
    sheet1_is_load = workbook.sheet_loaded(sheet_name_or_index="表1")
    print(sheet1_is_load)       # 结果:True
    
    """ 对sheet对象中的行执行操作 """
    # 获取sheet1中的有效行数
    nrows = sheet1_object.nrows
    print(nrows)                # 结果:5
    # 获取sheet1中第3行的数据
    all_row_values = sheet1_object.row_values(rowx=2)
    print(all_row_values)           # 结果:[3.0, 'b', 1, '']
    row_values = sheet1_object.row_values(rowx=2, start_colx=1, end_colx=3)
    print(row_values)               # 结果:['b', 1]
    # 获取sheet1中第3行的单元对象
    row_object = sheet1_object.row(rowx=2)
    print(row_object)               # 结果:[number:3.0, text:'b', bool:1, empty:'']
    # 获取sheet1中第3行的单元
    row_slice = sheet1_object.row_slice(rowx=2)
    print(row_slice)                # 结果:[number:3.0, text:'b', bool:1, empty:'']
    # 获取sheet1中第3行的单元类型
    row_types = sheet1_object.row_types(rowx=2)
    print(row_types)                # 结果:array('B', [2, 1, 4, 0])
    # 获取sheet1中第3行的长度
    row_len = sheet1_object.row_len(rowx=2)
    print(row_len)                  # 结果:4
    # 获取sheet1所有行的生成器
    rows_generator = sheet1_object.get_rows()
    print(rows_generator)           # 结果:<generator object Sheet.get_rows.<locals>.<genexpr> at 0x00000000028D8BA0>
    
    """ 对sheet对象中的列执行操作 """
    # 获取sheet1中的有效列数
    ncols = sheet1_object.ncols
    print(ncols)                # 结果:4
    # 获取sheet1中第colx=1列的数据
    col_values = sheet1_object.col_values(colx=1)
    print(col_values)           # 结果:['测试', 'a', 'b', 'c', 'd']
    col_values1 = sheet1_object.col_values(1, 1, 3)
    print(col_values1)          # 结果:['a', 'b']
    # 获取sheet1中第2列的单元
    col_slice = sheet1_object.col_slice(colx=1)
    print(col_slice)            # 结果:[text:'测试', text:'a', text:'b', text:'c', text:'d']
    # 获取sheet1中第2列的单元类型
    col_types = sheet1_object.col_types(colx=1)
    print(col_types)            # 结果:[1, 1, 1, 1, 1]
    
    """对sheet对象中的单元执行操作"""
    # 获取sheet1中第rowx=1行,第colx=2列的单元对象
    cell_info = sheet1_object.cell(rowx=1, colx=2)
    print(cell_info)           # 结果: text:'m'
    print(type(cell_info))     # 结果:<class 'xlrd.sheet.Cell'>
    # 获取sheet1中第rowx=1行,第colx=2列的单元值
    cell_value = sheet1_object.cell_value(rowx=1, colx=2)
    print(cell_value)           # 结果: m
    # 获取sheet1中第rowx=1行,第colx=2列的单元类型值
    cell_type = sheet1_object.cell_type(rowx=1, colx=2)
    print(cell_type)            # 结果:1
    
    #单元类型ctype:empty为0,string为1,number为2,date为3,boolean为4,error为5;

    3、读取单元格内容为日期时间的方式

    • 若单元格内容的类型为date,即ctype值为3时,则代表此单元格的数据为日期
    • xlrd.xldate_as_tuple(xldate, datemode):若xldate数据为日期/时间,则将转化为适用于datetime的元组 , 返回值为元组,格式为:(year, month, day, hour, minute, nearest_second)
    • xldate:sheet对象中单元格的数据
    • datemode:日期模式
    import xlrd
    import datetime
    
    """ 读取sheet对象中的日期 """
    workbook = xlrd.open_workbook("data.xlsx")
    sheet2_object = workbook.sheet_by_name("Sheet2")
    # value_type = sheet2_object.cell(0, 1).ctype
    value_type = sheet2_object.cell_type(0, 1)
    print(value_type)  # 结果:3 ,表示该值为date
    if value_type == 3:
        print("单元格数据为日期")
        cell_value = sheet2_object.cell_value(1, 0)
        print(cell_value)  # 结果:43567.0
        date_tuple = xlrd.xldate_as_tuple(cell_value, workbook.datemode)
        print(date_tuple)  # 结果:(2020, 4, 12, 0, 0, 0)
        date_value = datetime.date(*date_tuple[:3])
        print(date_value)  # 结果:2020-04-12
        date_format = date_value.strftime('%Y/%m/%d')
        print(date_format)  # 结果:2020/04/12

    4、 读取合并单元格的数据

    • 若表格为xls格式的,打开workbook时需将formatting_info设置为True,然后再获取sheet中的合并单元格;若表格有xlsx格式的,打开workbook时保持formatting_info为默认值False,然后再获取sheet中的合并单元格;
    • SheetObject.merged_cells:获取sheet中合并单元格的信息,返回值为列表;若sheet对象中无合并单元格,则返回值为空列表;列表中每个单元格信息的格式为:(row_start, row_end, col_start, col_end); row_start表示合并单元格的起始行; row_end表示合并单元格的结束行; col_start表示合并单元格的起始列;col_end表示合并单元格的结束列;合并单元格的行取值范围为[row_start, row_end),包括row_start,不包括row_end;合并单元格的列取值范围为[col_start, col_end),包括col_start,不包括col_end;如:(1, 3, 4, 6):表示从第1到2行合并,从第4到第5列合并;
    • 读取合并单元格数据仅需merged_cells数据中的row_start和col_start这两个索引即可
    import xlrd
    
    """ 获取合并的单元格并读取单元格数据 """
    # 获取xlsx格式的excel文件中的合并单元格
    workbook = xlrd.open_workbook("data.xlsx")
    sheet2_object = workbook.sheet_by_name("Sheet2")
    print(sheet2_object.merged_cells)   # 结果: [(1, 2, 0, 2), (3, 6, 0, 2)]
    # 获取xls格式的excel文件中的合并单元格
    workbook1 = xlrd.open_workbook("data.xls", formatting_info=True)
    sheet2_object1 = workbook1.sheet_by_name("Sheet2")
    print(sheet2_object1.merged_cells)   # 结果: [(1, 2, 0, 2), (3, 6, 0, 2)]
    
    # 读取合并单元格数据(仅需“起始行起始列”即可获取数据)
    print(sheet2_object.cell_value(1, 0))   # 结果:总结1
    print(sheet2_object.cell_value(3, 0))   # 结果:总结2
    # 或使用for循环获取所有的合并单元格数据
    for (row_start, row_end, col_start, col_end) in sheet2_object.merged_cells:
        print(sheet2_object.cell_value(rowx=row_start, colx=col_start))

    二、python写入excel表格数据

    1、写入excel表格数据常用操作和格式设置

        import xlwt
        import datetime
        # 创建一个workbook 设置编码
        workbook = xlwt.Workbook(encoding='utf-8')
        # 创建一个worksheet
        worksheet = workbook.add_sheet('Sheet1')
     
        #字体样式设置
        style = xlwt.XFStyle()  # 初始化样式
        font = xlwt.Font()  # 为样式创建字体
        font.name = 'Times New Roman'
        font.height = 20 * 11  # 字体大小,11为字号,20为衡量单位
        font.bold = True  # 黑体
        font.underline = True  # 下划线
        font.italic = True  # 斜体字
        style.font = font  # 设定样式
        # 数据写入excel,参数对应 行, 列, 值
        worksheet.write(0, 0, 'test_data')  # 不带样式的写入
        worksheet.write(1, 0, 'test_data', style)  # 带字体样式的写入
     
        # 设置单元格宽度
        worksheet.col(0).width = 3333
     
        #设置单元格背景颜色
        pattern = xlwt.Pattern()
        pattern.pattern = xlwt.Pattern.SOLID_PATTERN
        pattern.pattern_fore_colour = 13
        style = xlwt.XFStyle()  # Create the Pattern
        style.pattern = pattern  # Add Pattern to Style
        worksheet.write(2, 0, 'colour', style)
     
        #给单元格添加边框方法一
        borders = xlwt.Borders()  # Create Borders
        borders.left = xlwt.Borders.DASHED   #DASHED虚线,NO_LINE没有,THIN实线
        borders.right = xlwt.Borders.DASHED  #borders.right=1 表示实线
        borders.top = xlwt.Borders.DASHED
        borders.bottom = xlwt.Borders.DASHED
        borders.left_colour=0x40
        borders.right_colour = 0x40
        borders.top_colour = 0x40
        borders.bottom_colour = 0x40
        style = xlwt.XFStyle()  # Create Style
        style.borders = borders  # Add Borders to Style
        worksheet.write(3,0 , 'border1', style)
     
        #给单元格添加边框方法二
        # 细实线:1,小粗实线:2,细虚线:3,中细虚线:4,大粗实线:5,双线:6,细点虚线:7,大粗虚线:8,细点划线:9,粗点划线:10,细双点划线:11,粗双点划线:12,斜点划线:13
        borders = xlwt.Borders()
        borders.left = 1    #设置为细实线
        borders.right = 1
        borders.top = 1
        borders.bottom = 1
        borders.left_colour = 2  #颜色设置为红色
        borders.right_colour = 2
        borders.top_colour = 2
        borders.bottom_colour = 2
        style = xlwt.XFStyle()  # Create Style
        style.borders = borders  # Add Borders to Style
        worksheet.write(4, 0, 'border2', style)
     
        #输入一个日期到单元格
        style = xlwt.XFStyle()
        style.num_format_str = 'M/D/YY'  # Other options: D-MMM-YY, D-MMM, MMM-YY, h:mm, h:mm:ss, h:mm, h:mm:ss, M/D/YY h:mm, mm:ss, [h]:mm:ss, mm:ss.0
        worksheet.write(5, 0, datetime.datetime.now(), style)
     
        #单元格添加计算公式
        worksheet.write(0, 1, 2)  # Outputs 2
        worksheet.write(0, 2, 3)  # Outputs 3
        worksheet.write(1, 1, xlwt.Formula('B1*C1'))  # Should output "6" (B1[2] * B2[6])
        worksheet.write(1, 2, xlwt.Formula('SUM(B1,C1)'))  # Should output "5" (B1[2] + C1[3])
     
        #向单元格添加一个超链接
        worksheet.write(0, 3, xlwt.Formula('HYPERLINK("http://www.baidu.com";"baidu")'))  # Outputs the text "baidu" linking to http://www.baidu.com
     
        #单元格合并
        worksheet.write_merge(0, 0, 4, 5, 'First Merge')   #合并0行的4到5列
        worksheet.write_merge(1, 2, 4, 5, 'Second Merge')  #合并1和2行的4到5列
     
        #设置单元格内容的对其方式
        alignment=xlwt.Alignment()  ## Create Alignment
        alignment.horz=xlwt.Alignment.HORZ_CENTER
        alignment.vert=xlwt.Alignment.VERT_CENTER
        style=xlwt.XFStyle()
        style.alignment=alignment   # Add Alignment to Style
        worksheet.write(0, 6, 'alignment', style)
     
        # 保存文件
        workbook.save('data_test.xls')

    2、字体颜色和背景颜色对应索引号

    • 字体颜色:font.colour_index
    • 背景颜色:pattern.pattern_fore_colour

     

     

    展开全文
  • 最全省市区三级联动excel表格

    热门讨论 2013-12-17 14:42:24
    最全面的中国excel省市区三级联动excel表格
  • 易语言 EXCEL表格操作实例

    热门讨论 2012-08-22 20:31:33
    易语言 EXCEL表格操作实例
  • 怎样用python处理Excel表格呢 不要方,雷哥教你。 一、理解 python与Excel表格 Excel 是 Windows 环境下流行的、强大的电子表格应用。openpyxl 模块让 Python 程序能读取和修改 Excel电子表格文件 (1)excel文档中...

    怎样用python处理Excel表格呢

    不要方,雷哥教你。

    一、理解 python与Excel表格

    Excel 是 Windows 环境下流行的、强大的电子表格应用。openpyxl 模块让 Python 程序能读取和修改 Excel电子表格文件
    (1)excel文档中的基本属性定义:

    • 工作薄(workbook)
    • 工作表(sheet)
    • 活动表(active sheet)
    • 行(row): 1,2,3,4,5,6………
    • 列(column): A,B,C,D………
    • 单元格(cell): B1, C1

    (2)python对于Excel表格操作的模块有很多种,这里选用openpyxl模块,但是openpyxl模块时需要进行安装的(因为openpyxl是第三方库)
    非常简单,在命令行中输入一下命令即可下载安装:

    pip install openpyxl
    

    我们用以下表格为例子:
    在这里插入图片描述
    操作步骤:
    (1)打开一个excel文档

    import openpyxl
    # 打开一个excel文档, class 'openpyxl.workbook.workbook.Workbook'实例化出来的对象
    wb = openpyxl.load_workbook('Book.xlsx')
    print(wb, type(wb))
    # 获取当前工作薄里所有的工作表, 和正在使用的表;
    print(wb.sheetnames)
    print(wb.active)
    

    结果(输出的是一个对象):
    在这里插入图片描述
    (2)选择要操作的工作表

    # 选择要操作的工作表, 返回工作表对象
    sheet = wb['Sheet1']
    # 获取工作表的名称
    print(sheet.title)
    

    结果:
    在这里插入图片描述
    (3)指定行指定列的单元格信息

    # 返回指定行指定列的单元格信息
    print(sheet.cell(row=1, column=2).value)
    cell = sheet['B1']
    print(cell)
    print(cell.row, cell.column, cell.value)
    

    结果:
    在这里插入图片描述
    (4)获取工作表中行和列的最大值

    # 获取工作表中行和列的最大值
    print(sheet.max_column)
    print(sheet.max_row)
    sheet.title = '学生信息'
    print(sheet.title)
    

    结果:
    在这里插入图片描述
    (5)访问单元格的所有信息

    # 访问单元格的所有信息
    print(sheet.rows)  # 返回一个生成器, 包含文件的每一行内容, 可以通过便利访问.
    # 循环遍历每一行
    for row in sheet.rows:
        # 循环遍历每一个单元格
        for cell in row:
            # 获取单元格的内容
            print(cell.value, end=',')
        print()
    

    结果:
    在这里插入图片描述
    (6)保存修改信息

    # 保存修改信息
    wb.save(filename='Boom.xlsx')
    

    结果:
    在这里插入图片描述
    总结一下:
    操作Excel表格可详细的概括如下:
    1.导入 openpyxl 模块。
    2.调用 openpyxl.load_workbook()函数。
    3.取得 Workbook 对象。
    4.调用 wb.sheetnames和 wb.active 获取工作簿详细信息。
    5.取得 Worksheet 对象。
    6.使用索引或工作表的 cell()方法,带上 row 和 column 关键字参数。
    7.取得 Cell 对象。
    8.读取 Cell 对象的 value 属性

    二、 Excel简单实例

    需求:

    • 定义一个函数, readwb(wbname, sheetname=None)
    • 如果用户指定sheetname就打开用户指定的工作表, 如果没有指定, 打开active sheet;
    • 根据商品的价格进行排序(由小到大), 保存到文件中;商品名称:商品价格:商品数量
    • 所有信息, 并将其保存到数据库中
      看代码:
    import os
    import openpyxl
    
    def readwb(wbname, sheetname=None):
        # 打开工作薄
        wb = openpyxl.load_workbook(wbname)
        # 获取要操作的工作表
        if not sheetname:
            sheet = wb.active
        else:
            sheet = wb[sheetname]
        # 获取商品信息保存到列表中
        #[ ['name', price, count]
        all_info = []
        for row in sheet.rows:
            child = [cell.value for cell in row]
            all_info.append(child)
        return sorted(all_info, key=lambda item: item[1])
    
    def save_to_excel(data, wbname, sheetname='sheet1'):
        """
        将信息保存到excel表中;
        [[' BOOK', 50, 3], ['APPLE', 100, 1], ['BANANA', 200, 0.5]]
        """
        print("写入Excel[%s]中......." %(wbname))
        # 打开excel表, 如果文件不存在, 自己实例化一个WorkBook对象
        wb = openpyxl.Workbook()
        # 修改当前工作表的名称
        sheet = wb.active
        # 修改工作表的名称
        sheet.title = sheetname
        for row, item in enumerate(data):  # 0 [' BOOK', 50, 3]
            for column, cellValue in enumerate(item): #  0 ' BOOK'
                sheet.cell(row=row+1, column=column+1, value=cellValue)
        # ** 往单元格写入内容
        # sheet.cell['B1'].value = "value"
        # sheet.cell(row=1, column=2, value="value")
        # 保存写入的信息
        wb.save(filename=wbname)
        print("写入成功!")
    
    data = readwb(wbname='Book1.xlsx')
    save_to_excel(data, wbname='Book2.xlsx', sheetname="排序商品信息")
    

    结果:
    在这里插入图片描述

    三、更改表格的内容

    每一行代表一次单独的销售。列分别是销售产品的类型(A)、产品每磅的价格
    (B)、销售的磅数©,以及这次销售的总收入。TOTAL 列设置为 Excel 公式,将每磅的成本乘以销售的磅数,
    并将结果取整到分。有了这个公式,如果列 B 或 C 发生变化,TOTAL 列中的单元格将自动更新.

    需要更新的价格如下:
    Celery 1.19
    Garlic 3.07
    Lemon 1.27

    现在假设 Garlic、 Celery 和 Lemons 的价格输入的不正确。这让你面对一项无聊
    的任务:遍历这个电子表格中的几千行,更新所有 garlic、celery 和 lemon 行中每磅
    的价格。你不能简单地对价格查找替换,因为可能有其他的产品价格一样,你不希
    望错误地“更正”。对于几千行数据,手工操作可能要几小时
    下载文件 : produceSales.xlsx
    原文件打开是这样的:
    在这里插入图片描述
    解决步骤:
    1> 首先需要打开电子表格文件
    2> 然后查找每一行内容,检查列 A (即列表的第一个索引)的值是不是 Celery、Garlic 或 Lemon
    3> 如果是,更新列 B 中的价格(即列表第二个索引)
    4> 最后将该表格保存为一个新的文件

    看代码:

    import os
    import openpyxl
    
    def readwb(wbname, sheetname=None):
        # 打开工作薄
        wb = openpyxl.load_workbook(wbname)
        # 获取要操作的工作表
        if not sheetname:
            sheet = wb.active
        else:
            sheet = wb[sheetname]
        # 获取商品信息保存到列表中
        all_info = []
        for row in sheet.rows:
            child = [cell.value for cell in row]
            all_info.append(child)
            if child[0] == 'Celery':
                child[1] = 1.19
            if child[0] == 'Garlic':
                child[1] = 3.07
            if child[0] == 'Lemon':
                child[1] = 1.27
        return all_info
    
    def save_to_excel(data, wbname, sheetname='sheet1'):
        """
        将信息保存到excel表中;
        """
        print("写入Excel[%s]中......." % (wbname))
        # 打开excel表, 如果文件不存在, 自己实例化一个WorkBook对象
        wb = openpyxl.Workbook()
        # 修改当前工作表的名称
        sheet = wb.active
        # 修改工作表的名称
        sheet.title = sheetname
        for row, item in enumerate(data):  # 0 [' BOOK', 50, 3]
            for column, cellValue in enumerate(item):  # 0 ' BOOK'
                sheet.cell(row=row + 1, column=column + 1, value=cellValue)
        # ** 往单元格写入内容
        # sheet.cell['B1'].value = "value"
        # sheet.cell(row=1, column=2, value="value")
        # 保存写入的信息
        wb.save(filename=wbname)
        print("写入成功!")
    
    data = readwb(wbname='/home/kiosk/Desktop/day17/produceSales.xlsx')
    save_to_excel(data, wbname='new_Sales.xlsx', sheetname="商品信息")
    

    结果:
    在这里插入图片描述
    此时,写入新数据成功。
    新生成的表格如下:
    在这里插入图片描述
    好啦,有关python处理Excel表格的内容就这么多,有不懂的地方可以留言哦,谢谢。

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

    万次阅读 多人点赞 2018-06-08 13:48:05
    今日给大家分享一个Python读取Excel表格,同时采用表格中的数值画图柱状图和折线图,这里只需要几行代码便可以实。首先我们需要安装一个Excel操作的库xlrd,这个很简单,在安装Python后直接在DOS命令下输入pip ...
  • 数据库连接 操作数据库 导入EXCEL表格 界面设计 还有进度条
  • java实现excel表格导入数据库表

    万次阅读 多人点赞 2018-11-07 15:07:14
    导入excel就是一个上传excel文件,然后获取excel文件数据,然后处理数据并插入到数据库的过程 一、上传excel 前端jsp页面,我的是index.jsp 在页面中我自己加入了一个下载上传文件的功能,其中超链接就是下载 ...
  • 将网页table表格中导出到Excel表格

    热门讨论 2013-06-01 18:47:29
    用Javascript实现的将网页table中的数据导出到excel表格中!JSP ASP.NET 静态页面都可以使用!代码简单实用!
  • 利用Python处理excel表格数据

    万次阅读 多人点赞 2019-06-06 14:59:44
    pandas依赖xlrd模块来处理Excel。安装这个模块:pip install xlrd 安装pandas,安装命令:pip install pandas pandas处理Excel表单 提前准备一个Excel文件:dataFall2018.xlsx,有一个表单,表单名为Sheet1; ...
  • SpringBoot如何实现导出Excel表格

    千次阅读 2020-06-07 17:30:40
    我们查到的数据是list,如何将这些数据导出到Excel表格中呢 我这里查到的list数据是 List monthReportModels 一、导入依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>...
  • Python 合并 Excel 表格

    千次阅读 2020-04-03 08:00:00
    点击上方“Python爬虫与数据挖掘”,进行关注回复“书籍”即可获赠Python从入门到进阶共10本电子书今日鸡汤绳锯木断,水滴石穿。之前曾尝试用 Python 写过整理 Excel ...
  • java解析Excel表格数据

    万次阅读 多人点赞 2018-09-18 21:03:05
    我们使用的包为jxl.jar,可以实现从Excel文件中读取指定的行和列的值。 java代码、Excel表格和jar包已经提交到Git上:...Excel表格: java代码演示: 1.获取表格中name列的值效果: [game_lo...
  • Java对excel表格操作

    万次阅读 2018-01-03 10:42:41
    当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统、银行系统)。或者是:我们已经习惯用Excel打印。这样在我们实际的开发中,很多时候需要...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 174,253
精华内容 69,701
关键字:

excel表格