У меня есть 2 файла Excel, и я хочу объединить их в 1 файл с отдельными листами.
Я пытаюсь выполнить слияние с Microsoft.Office.Interop.Excel, но не могуПонимаете, как это использовать?
для Yahia:
вот методы для получения Range, в который я хочу объединить их с другим файлом:
internal object[,] GetValues(string filename)
{
object[,] values = new object[0, 0];
try
{
Workbook workBook = _excelApp.Workbooks.Open(filename,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing);
values = ExcelScanIntenal(workBook);
workBook.Close(false, filename, null);
Marshal.ReleaseComObject(workBook);
}
catch
{
}
return values;
}
private object[,] ExcelScanIntenal(Workbook workBookIn)
{
object[,] valueArray = new object[0, 0];
Worksheet sheet = (Worksheet)workBookIn.Sheets[1];
Range excelRange = sheet.UsedRange;
valueArray = (object[,])excelRange.get_Value(XlRangeValueDataType.xlRangeValueDefault);
return valueArray;
}
и здесь я хочу объединить значения:
internal void AddWorksheetToExcelWorkbook(string filename, string worksheetName, object[,] valueArray)
{
Microsoft.Office.Interop.Excel.Application xlApp = null;
Workbook xlWorkbook = null;
Sheets xlSheets = null;
Worksheet xlNewSheet = null;
try
{
xlApp = new Microsoft.Office.Interop.Excel.Application();
if (xlApp == null)
return;
xlWorkbook = xlApp.Workbooks.Open(filename, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing,Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
xlSheets = xlWorkbook.Sheets as Sheets;
xlNewSheet = (Worksheet)xlSheets.Add(xlSheets[1], Type.Missing, Type.Missing, Type.Missing);
xlNewSheet.Name = worksheetName;
xlWorkbook.Save();
xlWorkbook.Close(Type.Missing, Type.Missing, Type.Missing);
xlApp.Quit();
}
finally
{
Marshal.ReleaseComObject(xlNewSheet);
Marshal.ReleaseComObject(xlSheets);
Marshal.ReleaseComObject(xlWorkbook);
Marshal.ReleaseComObject(xlApp);
xlApp = null;
}
}
проблема в том, что xlNewSheet не имеет никакого свойства, которое может получить значения .. как я могу добавить ??