У меня есть пример данных, как это (в Excel)
Название Место
JKT
Б JKT
C CGK
D JKT
E CGK
F BBK
G JKT
H BBK
Я BBK
J BBK
K CGK
L CGK
Мне дали 3 ++ файла, которые содержат данные, подобные примеру, и шаг в том, что я должен сначала объединить файлы в 1 файл Excel, а затем вывод, который я уже объединю, должен быть разделен на множество файлов Excel. на месте.
Пример: в этих данных 3 разных места, поэтому он создаст 3 разных файла для JKT, CGK и BBK
Код, который я пытался объединить
xlApp = new excel.Application();
xlWb = xlApp.Workbooks.Open(fileName);
xlWs = xlWb.Sheets[1];
xlRange = xlWs.UsedRange;
row = xlRange.Rows.Count;
col = xlRange.Columns.Count;
fulldata = new string[row][];
for (int i = 0; i < fulldata.Length; i++)
{
fulldata[i] = new string[col];
//MessageBox.Show(i.ToString());
}
for (int i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
{
try
{
fulldata[i][j] = xlWs.Cells[i + 1, j + 1].value2.ToString();
}
catch (Exception ee)
{
fulldata[i][j] = "";
}
}
}
//create new excel file for combined data
xlApp1 = new excel.Application();
xlWb1 = xlApp1.Workbooks.Add();
xlWs1 = (excel.Worksheet)xlWb1.Worksheets.get_Item(1);
xlRange1 = xlWs1.UsedRange;
newFileRow = xlRange1.Rows.Count;
newFileCol = xlRange1.Columns.Count;
//Combine
if (newFileRow == 1)
{
for (int i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
{
xlWs1.Cells[i + 1, j + 1] = fulldata[i][j];
}
}
}
else
{
for (int i = newFileRow+1; i < row + newFileRow; i++)
{
for (int j = 0; j < col; j++)
{
xlWs1.Cells[i, j + 1] = fulldata[count][j];
count++;
}
}
}
//Split ExcelFile
for (int i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
{
//insertcode here
}
}
Проблема в том, что данные имеют более 40 мест, поэтому я не знаю эффективного способа их разделения, потому что, если я использую режим жесткого кода, он будет неэффективным и трудным для чтения.
Hardcode = определяет переменную для 40 различных мест, определяет excel.Application для 40 различных типов и использует if для 40 ++ различных мест
Ожидаемый результат (из примера):
1-е превосходство: JKT.xlsx
Name Place
A JKT
B JKT
D JKT
2-й Excel: CGK.xlsx
Name Place
C CGK
E CGK
K CGK
3-й Excel: BBK.xlsx
Name Place
F BBK
Любая помощь будет оценена и грамматическая коррекция