Я использую c # и Visual Studio для извлечения данных из таблицы Excel, помещаю их в массив (добавляя запятые в конец каждой строки) и затем выводю их в файл .CSV.
Теперь я столкнулся с проблемой, которая возникает, когда в ячейке либо нет данных, либо нет ожидаемых данных (то есть изображения).
Я предполагаю, что это в конце чтения листа Excel, а не на выходе в .CSV, так как при получении этой ошибки я не получаю никаких данных, помещенных в массив.
Вот фрагмент кода, который я использую, который был адаптирован из примера Microsoft по доступу к данным Excel с помощью взаимодействия.
//Get a range of data.
range = objSheet.get_Range(ranges1, ranges2);
//Retrieve the data from the range.
Object[,] saRet;
saRet = (System.Object[,])range.get_Value(Missing.Value);
//Determine the dimensions of the array.
long iRows;
long iCols;
iRows = saRet.GetUpperBound(0);
iCols = saRet.GetUpperBound(1);
//Build a string that contains the data of the array.
String valueString;
valueString = "Prices";
System.IO.StreamWriter OutWrite = new System.IO.StreamWriter("h:\\out.csv");
for (long rowCounter = 1; rowCounter <= iRows; rowCounter++)
{
for (long colCounter = 1; colCounter <= iCols; colCounter++)
{
//Write the next value into the string.
valueString = String.Concat(valueString,
saRet[rowCounter, colCounter].ToString() + ", ");
}
//Write in a new line.
valueString = String.Concat(valueString, "\n");
}
Ошибка, которую я получаю, связана со строкой system.object:
Ошибка: ссылка на объект не установлена для экземпляра объекта, строка: WindowsFormApplication2
(Нет, я еще не удосужился переименовать свой проект: P)
Ура, Энди.