c 操作Excel插入行和列

2022-07-18 00:51:13 字數 1287 閱讀 3145

前幾天的乙個需求是使用客戶給定的xls檔案格式(裡面有弄好的柱狀圖,折線圖之類的,已經和頂部資料表關聯起來)。

當時想著,這應該不難,然後一搜一大堆插入行的,就選了乙個引用microsoft.office.interop.excel的方法,先是實現

了插入空行,**如下

object misvalue=type.missing;

dataset ds;

microsoft.office.interop.excel.workbook xlsworkbook;

microsoft.office.interop.excel.worksheet xlssheet = xlsworkbook.worksheets[1];

microsoft.office.interop.excel.range xlsrow=(microsoft.office.interop.excel.range)xlssheet.rows[3,misvalue];

xlsrow.insert(microsoft.office.interop.excel.xlshiftdown,misvalue);

剛高興著這下沒問題了,第乙個表是行資料,第二個錶換插入列資料了,心想著這不一樣麼,結果頭疼了

microsoft.office.interop.excel.range xlscolumns=(microsoft.office.interop.excel.range)xlssheet.columns[misvalue,2];

執行到這裡時直接出異常,range[object rowindex,object columnindex] 獲取行就列索引用misvalue,那麼照常理來講獲取列肯定

就是行索引用misvalue唄,怎麼會出錯呢,我google了半天沒找到解說。沒辦法了,準備放棄的時候突然想了一下,不會是微軟給的這個

引數名字在忽悠人吧?就試了一下:

microsoft.office.interop.excel.range xlscolumns=(microsoft.office.interop.excel.range)xlssheet.columns[2,misvalue];

xlscolumns.insert(microsoft.office.interop.excel.xlshiftright,misvalue);

直接就好了

竟然真是被這個引數名給忽悠了。

另外,提醒一下,microsoft.office.interop.excel.workbook 這個東西下面的worksheets,worksheets.columns等集合的索引全是

從1開始,我是看到打出來的資料位置不對才知道的。

Excel巨集之插入行,日期操作,時間操作,週末判斷

為了能拉到專案,在賄賂專案負責人員方面也是蠻拼的,直接幫忙減輕工作負擔,用vb寫了個巨集處理對方的excel 需求 將一段請假的日期以天為單位拆分成一條一條記錄,並且忽略節假日。即週六週日包含在請假日期區域的話則不需要記錄改行條目,ps這裡有個五一假日需要過濾掉,對方主要是五月份的假期統計 for ...

Python操作EXCEL列轉行

總結業務整理了工藝的模板需要匯入到系統中,但是系統中的表結構是工序只有乙個列,不同值按行分開,而模板是每道工序分成多個列,這個時候可以使用python自動處理execl,將列自動轉換成行。如下 示例 import pandas as pd 如下 示例 讀取資料 df pd.read excel 拆列...

C 自動排序和插入行序號(原始碼)

新增行 新增行序號 是否需要初始化行 用於修改序號時操作 private void addrow int value bool neednew listmodel.add newmodel var row listmodel.where c c.findex value tolist 查詢是否已有該...