前幾天的乙個需求是使用客戶給定的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 查詢是否已有該...