TryGetInformationFromEdgeTable
(
Microsoft.Office.Interop.Excel.Workbook oWorkbook,
ListObject oEdgeTable,
String sThirdColumnName,
out Boolean bGraphIsDirected,
out Range oVertex1NameData,
out Object [,] aoVertex1NameValues,
out Range oVertex2NameData,
out Object [,] aoVertex2NameValues,
out Object [,] aoThirdColumnValues
)
{
Debug.Assert(oWorkbook != null);
Debug.Assert(oEdgeTable != null);
AssertValid();
oVertex1NameData = oVertex2NameData = null;
aoVertex1NameValues = aoVertex2NameValues = aoThirdColumnValues = null;
bGraphIsDirected =
(new PerWorkbookSettings(oWorkbook).GraphDirectedness ==
GraphDirectedness.Directed);
Range oThirdColumnData;
if (
!String.IsNullOrEmpty(sThirdColumnName)
&&
!ExcelTableUtil.TryGetTableColumnDataAndValues(oEdgeTable,
sThirdColumnName, out oThirdColumnData,
out aoThirdColumnValues)
)
{
// This is not an error.
aoThirdColumnValues = null;
}
return (
ExcelTableUtil.TryGetTableColumnDataAndValues(oEdgeTable,
EdgeTableColumnNames.Vertex1Name, out oVertex1NameData,
out aoVertex1NameValues)
&&
ExcelTableUtil.TryGetTableColumnDataAndValues(oEdgeTable,
EdgeTableColumnNames.Vertex2Name, out oVertex2NameData,
out aoVertex2NameValues)
);
}