c#读写excel要添加哪些引用

 我来答
华灯爱月
2017-04-11 · TA获得超过6369个赞
知道小有建树答主
回答量:673
采纳率:90%
帮助的人:229万
展开全部

推荐使用NPOI库来实现,如果自带的还需要调用excel进程:

NPOI 是开源的 POI 项目的.NET版,可以用来读写Excel,Word,PPT文件。在处理Excel文件上,NPOI 可以同时兼容 xls 和 xlsx。官网提供了一份 Examples ,给出了很多应用场景的例子,打包好的二进制文件类库,也仅有几MB,使用非常方便。

读Excel

NPOI使用 HSSFWorkbook 类来处理xls, XSSFWorkbook 类来处理xlsx,它们都继承接口 IWorkbook ,因此可以通过 IWorkbook 来统一处理xls和xlsx格式的文件。

以下是简单的例子

public void ReadFromExcelFile(string filePath)
{
IWorkbook wk = null;
string extension = System.IO.Path.GetExtension(filePath);
try
{
FileStream fs = File.OpenRead(filePath);
if (extension.Equals(".xls"))
{
//把xls文件中的数据写入wk中
wk = new HSSFWorkbook(fs);
}
else
{
//把xlsx文件中的数据写入wk中
wk = new XSSFWorkbook(fs);
}

fs.Close();
//读取当前表数据
ISheet sheet = wk.GetSheetAt(0);

IRow row = sheet.GetRow(0);  //读取当前行数据
//LastRowNum 是当前表的总行数-1(注意)
int offset = 0;
for (int i = 0; i <= sheet.LastRowNum; i++)
{
row = sheet.GetRow(i);  //读取当前行数据
if (row != null)
{
//LastCellNum 是当前行的总列数
for (int j = 0; j < row.LastCellNum; j++)
{
//读取该行的第j列数据
string value = row.GetCell(j).ToString();
Console.Write(value.ToString() + " ");
}
Console.WriteLine("\n");
}
}
}

catch (Exception e)
{
//只在Debug模式下才输出
Console.WriteLine(e.Message);
}
}

具体使用可以参考CSDN或者博客园的一些文章。

百度网友26ac8fe
2018-06-13
知道答主
回答量:7
采纳率:100%
帮助的人:6993
引用华灯爱月的回答:
推荐使用NPOI库来实现,如果自带的还需要调用excel进程:
NPOI 是开源的 POI 项目的.NET版,可以用来读写Excel,Word,PPT文件。在处理Excel文件上,NPOI 可以同时兼容 xls 和 xlsx。官网提供了一份 Examples ,给出了很多应用场景的例子,打包好的二进制文件类库,也仅有几MB,使用非常方便。
读Excel
NPOI使用 HSSFWorkbook 类来处理xls, XSSFWorkbook 类来处理xlsx,它们都继承接口 IWorkbook ,因此可以通过 IWorkbook 来统一处理xls和xlsx格式的文件。
以下是简单的例子
public void ReadFromExcelFile(string filePath){ IWorkbook wk = null; string extension = System.IO.Path.GetExtension(filePath); try { FileStream fs = File.OpenRead(filePath); if (extension.Equals(".xls")) { //把xls文件中的数据写入wk中 wk = new HSSFWorkbook(fs); } else { //把xlsx文件中的数据写入wk中 wk = new XSSFWorkbook(fs); } fs.Close(); //读取当前表数据 ISheet sheet = wk.GetSheetAt(0); IRow row = sheet.GetRow(0); //读取当前行数据 //LastRowNum 是当前表的总行数-1(注意) int offset = 0; for (int i = 0; i <= sheet.LastRowNum; i++) { row = sheet.GetRow(i); //读取当前行数据 if (row != null) { //LastCellNum 是当前行的总列数 for (int j = 0; j < row.LastCellNum; j++) { //读取该行的第j列数据 string value = row.GetCell(j).ToString(); Console.Write(value.ToString() + " "); } Console.WriteLine("\n"); } } } catch (Exception e) { //只在Debug模式下才输出 Console.WriteLine(e.Message); }}具体使用可以参考CSDN或者博客园的一些文章。
展开全部
Visual Studio点击:Tools =》Nuget Package Manager =》Manager Packages for Solution
Browse 搜索框中搜索NOPI,然后选择下载到你需要引用项目就好了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式