NPOI Excelテーブル、Wordドキュメントの読み書き
5047 ワード
NPOIはPOIから移植された.NETバージョン、Word、Excelの読み書き操作を専門とするオープンソースプロジェクト
では、私たちのC#で読み書きをする方法を試してみましょう.私が今使っているOfficeバージョンは2016です.
私たちはまずNugetを通じてNPOIを私たちのプロジェクトに導入します.
1、Excelテーブルの読み込み
2、Excel表にデータを書き込む
string desk = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory); string guid = Guid.NewGuid().ToString();
3、Wordドキュメントを読み込む
4、Wordドキュメントにデータを書き込む
では、私たちのC#で読み書きをする方法を試してみましょう.私が今使っているOfficeバージョンは2016です.
私たちはまずNugetを通じてNPOIを私たちのプロジェクトに導入します.
1、Excelテーブルの読み込み
using(FileStream fs=new FileStream(@"C:\Users\BIDIANQING\Desktop\1.xlsx", FileMode.Open,FileAccess.Read))
{
XSSFWorkbook book = new XSSFWorkbook(fs);
ISheet sheet= book.GetSheetAt(0); //book.NumberOfSheets;
string sheetName= sheet.SheetName;
int lastRowNum = sheet.LastRowNum;
for (int i = 0; i <= lastRowNum; i++)
{
string str = string.Empty;
IRow row= sheet.GetRow(i);
int lastCellNum = row.LastCellNum;
for (int j = 0; j < lastCellNum; j++)
{
ICell cell= row.GetCell(j);
CellType cellType= cell.CellType;
if (cellType == CellType.Numeric)
{
str += cell.NumericCellValue.ToString()+"|";
}
else if (cellType == CellType.String)
{
str += cell.StringCellValue+"|";
}
}
Console.WriteLine(str);
}
}
2、Excel表にデータを書き込む
List<Person> list = new List<Person>();
list.Add(new Person() { Id = 1, Name = " " });
list.Add(new Person() { Id = 2, Name = " " });
list.Add(new Person() { Id = 3, Name = " " });
list.Add(new Person() { Id = 4, Name = " " });
string desk = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory); string guid = Guid.NewGuid().ToString();
using (FileStream fs = new FileStream(string.Format("{0}\\{1}.xlsx",desk,guid), FileMode.Create, FileAccess.Write))
{
XSSFWorkbook book = new XSSFWorkbook();
ISheet sheet= book.CreateSheet("person");
int n=0;
foreach (var item in list)
{
IRow row= sheet.CreateRow(n);
row.CreateCell(0, CellType.Numeric).SetCellValue(item.Id);
row.CreateCell(1, CellType.String).SetCellValue(item.Name);
n++;
}
book.Write(fs);
}
Console.WriteLine("OK");
Console.ReadKey();
3、Wordドキュメントを読み込む
using(FileStream fs=new FileStream(@"C:\Users\BIDIANQING\Desktop\1.docx", FileMode.Open,FileAccess.Read))
{
XWPFDocument doc = new XWPFDocument(fs);
//var package= doc.Package;
var paragraphs= doc.Paragraphs;
foreach (var item in paragraphs)
{
Console.WriteLine(item.ParagraphText);
}
}
Console.ReadKey();
4、Wordドキュメントにデータを書き込む