(我什麼都不知道了Apache,但一些有關Excel互操作工作)
如果被檢測到的紙張是你的,我會建議更換指定使用這些標題單元格。 (爲了在Excel中命名一個單元格,在屏幕左上角有一個字段,通常單元格的座標出現(像「A1」或「B2」等等)。在那個地方輸入一個名字, ('Worksheet.Range(「Name」)'是通過代碼獲取這些單元格的地方)
要管理名稱,請轉到「插入 - 名稱」或「公式 - 名稱管理器「,這取決於什麼版本的Excel。
(個人而言,我從來沒有通過代碼工作與表沒有命名標題,然後我使用」偏移「來獲取與這些標題對應的數據單元 - 這讓我以後自由編輯表格而不會破壞代碼)
如果表單不是你的,那麼,你需要找出數據的範圍。 (最後一行和最後一列) 然後檢查包含所有填充列的第一行,它們都沒有空白。這是一個可能的水平標題。 以及檢查包含所有填充行的第一列。這是一個可能的垂直標題。
您也可以搜索完全空白的行和/或列,以查找包含多個水平標題或垂直標題的數據後面的標題。
您可以使用這些單元格的一些格式屬性(Range.Interior或Range.Font作爲示例)來確定它們是否爲標題(通常標題具有不同的格式,顏色,邊框等)。
如果您確定沒有數字標題,我的意思是,所有標題都包含文本,請檢查單元格中數據的類型。如果全部是字符串,則標題概率增加。
即便如此,如果工作表沒有遵循某種模式,偶爾其中一個可能會欺騙您的代碼並帶來錯誤結果,但這仍然是一件棘手的事情。如果允許,我建議添加人工驗證以確認在完成過程後的結果。
每個標題有沒有其他細胞有什麼?給出的標準沒有提供足夠的信息來定義與內容單元不同的標題。 – 2013-03-20 11:28:58