Est-il possible de copier une ligne (avec des données, la fusion de style) dans Excel à l'aide de Epplus?
Le problème est que j'ai besoin d'insérer des données dans Excel à partir de la collecte à plusieurs reprises à l'aide d'un modèle unique pour l'ensemble de la collection.
using (var pckg = new ExcelPackage(new FileInfo(association.TemplatePath)))
{
var workSheet = pckg.Workbook.Worksheets[1];
var dataTable = WorksheetToDataTable(workSheet);
/*Some stuff*/
FindAndReplaceValue(workSheet, dictionary, row);
}
private DataTable WorksheetToDataTable(ExcelWorksheet oSheet)
{
int totalRows = oSheet.Dimension.End.Row;
int totalCols = oSheet.Dimension.End.Column;
DataTable dt = new DataTable(oSheet.Name);
DataRow dr = null;
for (int i = 1; i <= totalRows; i++)
{
if (i > 1) dr = dt.Rows.Add();
for (int j = 1; j <= totalCols; j++)
{
if (i == 1)
dt.Columns.Add((oSheet.Cells[i, j].Value ?? "").ToString());
else
dr[j - 1] = (oSheet.Cells[i, j].Value ?? "").ToString();
}
}
return dt;
}
Première image de Mon modèle. Deuxième élément Premier de la collection (avec les données, le style, la fusion). Troisième - Autres éléments n'a qu'données
OriginalL'auteur Renat Zamaletdinov | 2015-06-02
Vous devez vous connecter pour publier un commentaire.
Je viens de faire des copies de lignes
Vous pouvez copier la cellule avec style etc. en utilisant une solution énumérés ci-dessus. Si vous souhaitez copier gamme suffit d'utiliser
workSheet.Cells["A1:I1"].Copy(workSheet.Cells["A4:I4"]);
Résultat: imgur.com/Ow4UUv5OriginalL'auteur Renat Zamaletdinov