在网上也找了一部分的Excel,Txt操作,但是使用起来总是麻烦,就想着自己整理一份,以便日后的使用.如果你想参考,大神可以略过了哈!
对EXCEL操作主要是使用了NPOI.dll这个扩展,文章最底部有压缩包,需要的可以下载一下
下面进入正题Excel操作:(xls的,xlsx的需要更换为XSSFWorkbook wk = new XSSFWorkbook(fs)需要注意下)
读:
ISheet sheet = null;
FileStream fs = null;
var fileName = "模板.xls";
fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
HSSFWorkbook wk = new HSSFWorkbook(fs);//xls
sheet = wk.GetSheetAt(0);
DealNum = sheet.LastRowNum + 1;
var tasks = new Task[DealNum];
for (int j = 0; j <= sheet.LastRowNum; j++)
{
CardInfo info = new CardInfo();
IRow row = sheet.GetRow(j);
ICell CellNO = row.GetCell(0);
ICell CellPwd = row.GetCell(1);
ICell CellMoney = row.GetCell(2); //money
ICell CellDate = row.GetCell(3);
info.Cardnum = CellNO.ToString().Trim();
info.Cardpwd = CellPwd.ToString().Trim();
info.Money = CellMoney.ToString().Trim();
info.DateTime = CellDate.ToString().Trim();
UseCards.Add(info);
}
这段代码完全可以复制粘贴去使用......各个都差不多,无非路径可以修改下,操作的单元格修改下
写:
HSSFWorkbook Newwk = new HSSFWorkbook();
//创建一个名称为mySheet的表
ISheet tb = Newwk.CreateSheet("Sheet1");
//创建一行,此行为第二行
IRow row = tb.CreateRow(0);
ICell cell = row.CreateCell(0);
cell.SetCellValue("卡号");
cell = row.CreateCell(1);
cell.SetCellValue("卡密");
cell = row.CreateCell(2);
cell.SetCellValue("金额");
cell = row.CreateCell(3);
cell.SetCellValue("日期");
cell = row.CreateCell(4);
cell.SetCellValue("状态");
int j = 1;
for (int i = 0; i < GoodCards.Count; i++)
{
row = tb.CreateRow(j);
cell = row.CreateCell(0);
cell.SetCellValue(GoodCards[i].Cardnum);
cell = row.CreateCell(1);
cell.SetCellValue(GoodCards[i].Cardpwd);
cell = row.CreateCell(2);
cell.SetCellValue(GoodCards[i].Money);
cell = row.CreateCell(3);
cell.SetCellValue(GoodCards[i].DateTime);
cell = row.CreateCell(4);
cell.SetCellValue(GoodCards[i].Result);
j++;
}
string saveFileName = DateTime.Now.ToString("yyyy-MM-dd") + "结果.xls";
FileStream fs = null;
fs = File.OpenWrite(saveFileName);
Newwk.Write(fs);
fs.Close();
fs.Dispose();
到这里就可以完成写了,根据个人情况进行修改吧!
Txt随手写点吧:
读:
var file ="Txt.txt";
var lines1 = File.ReadAllLines(file, Encoding.Default);
写:
File.AppendAllText("Txt.txt","---"+ card.Mobile +"|"+ card.Cardnum + "|"+ card.Cardpwd + "|" + card.Money + "\r\n");
读取文件夹下的所有文件也随手写点吧:
string temp = "ToSolve\";//文件夹
string[] stst1 = new string[0];
DirectoryInfo TheFolder = new DirectoryInfo(temp);
foreach (FileInfo NextFile in TheFolder.GetFiles())
{
string[] TxtName =new string[1];
TxtName[0] = temp + NextFile.Name;
stst1 = stst1.Concat(TxtName).ToArray();
}
//string[] stst = _logFile.Split('|');
string[] all = new string[0];
foreach (var item in stst1)
{
var lines1 = File.ReadAllLines(item, Encoding.Default);
all = all.Concat(lines1).ToArray();
}
实现对.docx, .xlsx, .pptx等文件类型的加密。
使用其中的Dll文件
var FileName = "测试.xlsx";
using (OfficeCryptoStream stream = OfficeCryptoStream.Open(FileName)) { stream.Password = "111111"; stream.Save(); }
到这就完成了
到这里吧,基本上也就读写操作,刚刚开始不太熟,在这里整理下.
DLL文件下载地址:http://pan.baidu.com/s/1dFvHw3Z