我在变量中有一个单元格名称作为值。
示例:((LinearLayout) addView.getParent()).removeView(addView1);
我需要单独变量中该单元格的行和列索引。
示例:myCellName = "C9"
columnIndex = rowIndex = myCellName .getRow() '3
答案 0 :(得分:2)
首先:在你的问题中,你弄乱了行和列。 C9
是列C
,它是第三列,行9
是第九行。
第二个:使用Liberoffice和Openoffice,列和行号基于0。所以第三列是第2列,第九行是第8行。
要从单元名称中获取列号和行号,可以使用getcellRangeByName
,查看https://wiki.openoffice.org/wiki/Documentation/BASIC_Guide/Cells_and_Ranges,然后使用此CellAddress
对象中的Range
getCellAddress
,请参阅https://www.openoffice.org/api/docs/common/ref/com/sun/star/sheet/XCellAddressable.html。
示例:
首先,我们使用现有的Calc文档和现有的工作表。
Sub Test1
myCellName = "C9"
oRange = ThisComponent.Sheets(0).getCellRangeByName(myCellName)
oCellAddress = oRange.getCellAddress()
msgbox oCellAddress.Row '8
msgbox oCellAddress.Column '2
End Sub
也许我们没有现有的Calc文档,但是我们可以先创建一些:
Sub Test2
myCellName = "C9"
oDoc = CreateUnoService("com.sun.star.sheet.SpreadsheetDocument")
oSheet = oDoc.createInstance("com.sun.star.sheet.Spreadsheet")
oDoc.Sheets.insertByName("MySheet", oSheet)
oRange = oSheet.getCellRangeByName(myCellName)
oCellAddress = oRange.getCellAddress()
msgbox oCellAddress.Row '8
msgbox oCellAddress.Column '2
oCellAddress = Nothing
oRange = Nothing
oSheet = Nothing
oDoc = Nothing
End Sub