日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

asp.net添加删除表格_如何用openpyxl自动化编写Excel电子表格

發(fā)布時間:2023/12/4 asp.net 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 asp.net添加删除表格_如何用openpyxl自动化编写Excel电子表格 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

有很多不同的東西你可以寫到電子表格,從簡單的文本或數(shù)字值到復(fù)雜的公式,圖表,甚至圖像。

創(chuàng)建一個簡單的電子表格

之前,大家看到了一個非常快速的例子,就是如何將 "Hello world!"寫進(jìn)電子表格中,所以大家可以從這個開始。

上面代碼中高亮的幾行是最重要的寫法:

第5行告訴你如何創(chuàng)建一個新的空工作簿。

第8行和第9行顯示了如何向特定單元格添加數(shù)據(jù)。

第11行告訴你如何在完成后保存電子表格。

盡管上面這些代碼表達(dá)非常簡潔,但遇到更復(fù)雜情況的時候,熟知它們還是非常必要的。

你可以做的一件事是在你的Python文件或控制臺中添加下面的方法來幫助即將到來的代碼示例:

>>> def print_rows():... for row in sheet.iter_rows(values_only=True):... print(row)

只需調(diào)用print_rows(),就能輕松打印出所有的電子表格值。

電子表格的基本操作

在進(jìn)入更高級的主題之前,最好先了解如何管理電子表格中最簡單的元素。

  • 添加和更新單元格值

你已經(jīng)學(xué)會了如何像這樣的電子表格添加值:

sheet["A1"] = "value"

其實(shí)還有一種方法可以做到這一點(diǎn):先選擇一個單元格,然后改變其值。

>>> cell = sheet["A1"]>>> cell'Sheet'.A1>>>> cell.value'hello'>>> cell.value = "hey">>> cell.value'hey'

只有在調(diào)用workbook.save()后,新的值才會存儲到電子表格中。

openpyxl會在添加值時創(chuàng)建一個單元格,前提是如果該單元格之前不存在。

>>> # Before, our spreadsheet has only 1 row>>> print_rows()('hello', 'world!')>>> # Try adding a value to row 10>>> sheet["B10"] = "test">>> print_rows()('hello', 'world!')(None, None)(None, None)(None, None)(None, None)(None, None)(None, None)(None, None)(None, None)(None, 'test')

當(dāng)你試圖向單元格B10中添加一個值時,你最終會得到一個有10行的元組,只是為了讓你能得到那個測試值。

  • 管理行和列

在操作電子表格時,最常見的事情之一就是添加或刪除行和列。openpyxl軟件包允許你通過使用以下方法以一種非常直接的方式來完成這些操作:

  • .insert_rows()

  • .delete_rows()

  • .insert_cols()

  • .delete_cols()

以下這些方法中的每一個都可以接收兩個參數(shù):

  • idx

  • 數(shù)量

  • 再用我們基本的hello_world.xlsx例子,讓我們看看這些方法是如何工作的。

    >>> print_rows()('hello', 'world!')>>> # Insert a column before the existing column 1 ("A")>>> sheet.insert_cols(idx=1)>>> print_rows()(None, 'hello', 'world!')>>> # Insert 5 columns between column 2 ("B") and 3 ("C")>>> sheet.insert_cols(idx=3, amount=5)>>> print_rows()(None, 'hello', None, None, None, None, None, 'world!')>>> # Delete the created columns>>> sheet.delete_cols(idx=3, amount=5)>>> sheet.delete_cols(idx=1)>>> print_rows()('hello', 'world!')>>> # Insert a new row in the beginning>>> sheet.insert_rows(idx=1)>>> print_rows()(None, None)('hello', 'world!')>>> # Insert 3 new rows in the beginning>>> sheet.insert_rows(idx=1, amount=3)>>> print_rows()(None, None)(None, None)(None, None)(None, None)('hello', 'world!')>>> # Delete the first 4 rows>>> sheet.delete_rows(idx=1, amount=4)>>> print_rows()('hello', 'world!')

    你需要唯一需要記住的是,當(dāng)插入新數(shù)據(jù)(行或列)時,插入發(fā)生在idx參數(shù)之前。如果你執(zhí)行insert_rows(1),它會在現(xiàn)有的第一行之前插入一條新行。

    對于列來說也是一樣:當(dāng)你調(diào)用insert_cols(2)時,它會在已經(jīng)存在的第二列(B)之前插入一個新的列。

    但是,當(dāng)刪除行或列時,.delete_...會從作為參數(shù)傳遞的索引開始刪除數(shù)據(jù)。

    例如,當(dāng)執(zhí)行delete_rows(2)時,它刪除第2行,而當(dāng)執(zhí)行delete_cols(3)時,它刪除第三列(C)。

    • 管理工作表格

    工作表管理也是你需要了解的東西之一,盡管它可能是你不經(jīng)常使用的東西。

    如果你回顧一下本教程中的代碼示例,你會注意到下面這段反復(fù)出現(xiàn)的代碼。

    sheet = workbook.active

    這是選擇電子表格中默認(rèn)工作表的方法。不過,如果你打開的電子表格有多張表,那么你總是可以像這樣選擇一個特定的表。

    >>> # Let's say you have two sheets: "Products" and "Company Sales">>> workbook.sheetnames['Products', 'Company Sales']>>> # You can select a sheet using its title>>> products_sheet = workbook["Products"]>>> sales_sheet = workbook["Company Sales"]

    你也可以很容易地改變一個表的標(biāo)題:

    >>> workbook.sheetnames['Products', 'Company Sales']>>> products_sheet = workbook["Products"]>>> products_sheet.title = "New Products">>> workbook.sheetnames['New Products', 'Company Sales']

    如果你想創(chuàng)建或刪除工作表,那么你也可以通過.create_sheet()和.remove()來實(shí)現(xiàn):

    >>> workbook.sheetnames['Products', 'Company Sales']>>> operations_sheet = workbook.create_sheet("Operations")>>> workbook.sheetnames['Products', 'Company Sales', 'Operations']>>> # You can also define the position to create the sheet at>>> hr_sheet = workbook.create_sheet("HR", 0)>>> workbook.sheetnames['HR', 'Products', 'Company Sales', 'Operations']>>> # To remove them, just pass the sheet as an argument to the .remove()>>> workbook.remove(operations_sheet)>>> workbook.sheetnames['HR', 'Products', 'Company Sales']>>> workbook.remove(hr_sheet)>>> workbook.sheetnames['Products', 'Company Sales']

    你還可以用copy_worksheet()來復(fù)制一個工作表:

    >>> workbook.sheetnames['Products', 'Company Sales']>>> products_sheet = workbook["Products"]>>> workbook.copy_worksheet(products_sheet)"Products Copy">>>> workbook.sheetnames['Products', 'Company Sales', 'Products Copy']

    如果保存上述代碼后打開電子表格,你會發(fā)現(xiàn)工作表Products Copy與工作表Products其實(shí)是重復(fù)的。

    • 凍結(jié)行和列

    在處理大型電子表格時,你可能想做的事情是凍結(jié)一些行或列,這樣當(dāng)你向右或向下滾動時,它們?nèi)匀豢梢姟?/p>

    凍結(jié)數(shù)據(jù)可以讓你關(guān)注重要的行或列,無論你在電子表格中滾動到哪里。

    同樣,openpyxl 也有辦法通過使用工作表 freeze_panes 屬性來實(shí)現(xiàn)這一目的。對于這個例子,回到我們的sample.xlsx電子表格,并嘗試做以下操作:

    >>> workbook = load_workbook(filename="sample.xlsx")>>> sheet = workbook.active>>> sheet.freeze_panes = "C2">>> workbook.save("sample_frozen.xlsx")

    如果你在你最喜歡的電子表格編輯器中打開sample_frozen.xlsx電子表格,你會注意到第1行以及A和B列都被凍結(jié)了,無論你在電子表格中的哪個位置導(dǎo)航,這部分都是可見的。

    這個功能很方便,可以將標(biāo)題保持在視線范圍內(nèi),這樣你就可以隨時知道每列代表什么。下面在是編輯器中的樣子:

    請注意,你已經(jīng)到了電子表格的最后,然而,你既能看到第1行,又能看到A和B列。

    • 添加過濾器

    你可以使用 openpyxl 為你的電子表格添加過濾器和分類。然而,當(dāng)你打開電子表格時,數(shù)據(jù)不會根據(jù)這些分類和過濾器重新排列。

    這似乎是一個很無用的功能,但當(dāng)你以編程方式創(chuàng)建一個電子表格,并將被別人發(fā)送和使用時,至少創(chuàng)建過濾器并允許人們在之后使用它還是不錯的。

    下面的代碼是一個例子,說明如何在我們現(xiàn)有的sample.xlsx電子表格中添加一些過濾器。

    >>> # Check the used spreadsheet space using the attribute "dimensions">>> sheet.dimensions'A1:O100'>>> sheet.auto_filter.ref = "A1:O100">>> workbook.save(filename="sample_with_filters.xlsx")

    現(xiàn)在,當(dāng)您在編輯器中打開電子表格時,您應(yīng)該可以看到創(chuàng)建的過濾器。

    如果你知道你要應(yīng)用過濾器的電子表格的哪個部分,你就不必使用 sheet.dimensions

    今天介紹了以下創(chuàng)建電子表格的基本操作,下一篇我們會繼續(xù)深入了解如何添加公式,添加樣式,進(jìn)行條件格式化,添加圖片,添加漂亮的圖表,以及如何轉(zhuǎn)換Python類到Excel電子表格。

    總結(jié)

    以上是生活随笔為你收集整理的asp.net添加删除表格_如何用openpyxl自动化编写Excel电子表格的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 精品乱码久久久久久中文字幕 | 国产在线麻豆 | 俄罗斯女人裸体性做爰 | 中文字幕日韩一级 | 日日天天干 | 97在线视频人妻无码 | 午夜久久久久久噜噜噜噜 | 国产视频久久久久久 | 色天天色综合 | 久久久久99精品成人片试看 | 国产精品久久久毛片 | 亚洲视频区 | 大桥未久恸哭の女教师 | 青青草91久久久久久久久 | 性色av一区二区三区免费 | 狠狠做深爱婷婷久久综合一区 | 国产精彩视频在线观看 | 摸丰满大乳奶水www免费 | 少妇精品亚洲一区二区成人 | 久久爰 | 中文字幕一区二区三区在线不卡 | 久久久久久免费观看 | 臭脚猛1s民工调教奴粗口视频 | 一级看片 | 91午夜视频| 天堂视频在线观看免费 | 91麻豆一区二区 | 亚洲特黄特色 | 香港三级日本三级韩国三级 | 黄网站在线免费 | 欧美mv日韩mv国产网站 | 顶级黑人搡bbw搡bbbb搡 | 亚洲最大福利网 | 91网址入口 | 狠色综合7777夜色撩人 | 日韩免费网站 | 谁有毛片网址 | 男男一级淫片免费播放 | 五月婷婷色综合 | 国产亚洲成人精品 | 操www| 成人毛片视频免费看 | 国产精品区一区二 | 亚洲免费黄色片 | 国产77777 | 久久久久人妻精品一区二区三区 | 乖疼润滑双性初h | 在线观看三级视频 | 精品三级国产 | 国产成人一级 | 日韩色视频在线观看 | 91色拍| 体内精69xxxxx | 国产视频69 | 国产肥白大熟妇bbbb视频 | 亚洲第一二三区 | 91色交视频| 特级毛片网站 | 日本xxxxxⅹxxxx69 | 阿v免费在线观看 | 国产精品午夜视频 | 老熟妇一区二区三区 | 国产做受网站 | 成人免费高清在线观看 | 亚洲一区二区精品视频 | 久久中文精品 | 国产精品国产三级国产专播品爱网 | 色开心| 国产一区二区三区www | 日日夜夜狠 | 综合成人 | 成人性生交视频免费观看 | 性做久久久 | 精品国产av一区二区三区 | 国产视频网 | 影音先锋男人天堂 | 亚洲熟妇毛茸茸 | 国产亚洲精品码 | 日韩成人中文字幕 | 在线se | 精品国产免费无码久久久 | 日韩av不卡在线观看 | 无码少妇一区二区三区芒果 | 久久久一二三区 | 亚洲小视频在线播放 | bangbros性欧美18| 制服丝袜第二页 | 欧美极品一区二区 | 黄色三级三级三级三级 | 亚洲黄色小说网 | 亚洲18在线看污www麻豆 | 日韩不卡高清视频 | 亚洲一区www | 中文字幕第18页 | 天天干天天玩 | 一区二区小视频 | 黑人大群体交免费视频 | 美日韩一区 | 在哪里可以看毛片 |