// (1)读取文档路径
string pathFileName = Path.Combine(AbConfigUtil.ConfigPath(),"text.txt"); //AbConfigUtil.ConfigPath() 可以采用其他的方式 Assembly.GetCallingAssembly().FolderPath() 输出文件夹路径 /bin/Debug
// (2) 点选获取文件路径
OpenFileDialog fileDialog = new OpenFileDialog();
fileDialog.Filter = "数据文件|xlsx文件|*.xlsx"; // "数据文件|*.txt|所有文件|*.*"; // doc文件类似
if (fileDialog.ShowDialog() != DialogResult.OK)
{
return;
}
string pathFileName = fileDialog.FileName;
// (3) 读取和写入Excel、并且刷新Excel中的公式
// 1. 创建读取流
FileStream _fsread = new FileStream(fileName, FileMode.Open, FileAccess.Read); // 修改数据显示读取
IWorkbook iWBk = new XSSFWorkbook(_fsread); // 操作 Excel2007
// 2. 创建文件流
FileStream _fsWrite = new FileStream(fileName, FileMode.Create, FileAccess.Write); // 再写入
try
{
// 3. 通过Sheet名 获取对应的ISeet--其中 ReadWorkbook 为读取Excel文档时获取
var iWBkSheetIndex = iWBk.GetSheet("Sheet1");
for (int i = 0; i < 7; i++)
{
iWBkSheetIndex.GetRow(i).GetCell(4).SetCellValue("内容");
}
// 4. 重新刷新Excel中的公式
iWBk.GetCreationHelper().CreateFormulaEvaluator().EvaluateAll();
// 5. 对 Workbook 的修改写入文件流,对文件进行相应操作
iWBk.Write(_fsWrite);
}
catch (Exception ex)
{
throw ex;
}
finally
{ // 6. 关闭文件流
_fsread.Close();
_fsWrite.Close();
}
// (4) 读取和写入文本文档
// 窗体数据 写入Txt文档
private void SaveFormContent()
{
string fileName = "Test.txt";
string formName = "[TestForm]";
List<string> formData = new List<string>() { formName, m_formData };
if (!File.Exists(fileName))
{
File.Create(fileName); // 路径为程序输入目录下 // \\bin\\Debug\\Test.txt
}
File.WriteAllLines(fileName, formData);
}
// 读取Txt文档 填充窗体数据
private void LoadFormContent()
{
string fileName = Path.Combine("Test.txt");
if (File.Exists(fileName))
{
List<string> contentLine = File.ReadAllLines(fileName).ToList();
int contentIndex = 0; // 需要获取这一行内容的索引值
for (int i = 0; i < contentLine.Count; i++)
{
if (contentLine[i].Equals("[TestForm]"))
{
contentIndex = i + 1;
break;
}
}
m_formData = contentLine[contentIndex];
}
}
// (5) NPOI读取和写入Word
https://www.cnblogs.com/mqxs/p/14333564.html
C#读取和写入Word文档、Excel表格、文本文档(txt)
于 2022-08-31 15:15:56 首次发布