En essayant de créer un nouveau .xlsx fichier à l'aide de NPOI et écrire
Edit:
Je suis en train d'écrire une petite application console qui va lire dans les lignes d'une feuille de calcul excel, analyser les lignes et écrire le dépêché des données dans un nouveau fichier excel. Je suis en utilisant .NET et le NPOI de la bibliothèque. J'ai finalement après beaucoup de creuser trouvé de documentation de Java pour PVE sur le serveur apache du site. Voici mon code mis à jour avec de nouvelles erreurs.
Ce fait crée un fichier lisible sauf qu'il ne rédige le texte de la troisième colonne.
public static void TransferXLToTable()
{
DataTable dt = new DataTable();
dt.Columns.Add("City", typeof(string));
dt.Columns.Add("State", typeof(string));
dt.Columns.Add("Zip", typeof(string));
using (FileStream stream = new FileStream(OpenFile(), FileMode.Open, FileAccess.Read))
{
IWorkbook wb = new XSSFWorkbook(stream);
ISheet sheet = wb.GetSheet("Sheet1");
string holder;
int i = 0;
do
{
DataRow dr = dt.NewRow();
IRow row = sheet.GetRow(i);
try
{
holder = row.GetCell(0, MissingCellPolicy.CREATE_NULL_AS_BLANK).ToString();
}
catch (Exception)
{
break;
}
string city = holder.Substring(0, holder.IndexOf(','));
string state = holder.Substring(holder.IndexOf(',') + 2, 2);
string zip = holder.Substring(holder.IndexOf(',') + 5, 5);
dr[0] = city;
dr[1] = state;
dr[2] = zip;
dt.Rows.Add(dr);
i++;
} while (!String.IsNullOrEmpty(holder));
}
using (FileStream stream = new FileStream(@"C:\Working\FieldedAddresses.xlsx", FileMode.Create, FileAccess.Write))
{
IWorkbook wb = new XSSFWorkbook();
ISheet sheet = wb.CreateSheet("Sheet1");
ICreationHelper cH = wb.GetCreationHelper();
for (int i = 0; i < dt.Rows.Count; i++)
{
for (int j = 0; j < 3; j++)
{
IRow row = sheet.CreateRow(i);
ICell cell = row.CreateCell(j);
cell.SetCellValue(cH.CreateRichTextString(dt.Rows[i].ItemArray[j].ToString()));
}
}
wb.Write(stream);
}
}
OriginalL'auteur Adam | 2013-11-07
Vous devez vous connecter pour publier un commentaire.
J'ai compris ce qui n'allait pas. C'était en fait une erreur très simple, j'ai été la création d'une nouvelle ligne à l'intérieur de la plupart de boucle quand j'avais besoin de créer la ligne de la boucle externe. J'espère que le code de travail dans la réponse sera utile pour toute personne qui a besoin d'un point de départ avec NPOI.
Ce site est une excellente ressource pour toute personne débutant avec POI ou NPOI.
http://poi.apache.org/spreadsheet/quick-guide.html#NewWorkbook
Voici code du travail.
OriginalL'auteur Adam