C#使用CSVLibraryAK.Core NuGet包导入CSV到DataTable报命名空间不存在错误
问题原因
报错是API调用路径写错导致的:
CSVLibraryAK.Core是命名空间,不是包含静态方法的类,你直接把方法名拼接在命名空间后调用,编译器会默认你要找该命名空间下名为Import的类型,自然会抛出找不到的错误- 该库的所有导入导出能力都封装在
CSVLibraryAK.Core命名空间下的CSVLibraryAK类中,且导入方法的实际名称是CsvImport,不是你写的Import
修正后的可运行代码
using CSVLibraryAK.Core; using System.Data; namespace project { class Program { static void Main(string[] args) { bool hasHeader = true; string importFilePath = "C:\\import.csv"; DataTable data = CSVLibraryAK.CsvImport(importFilePath, hasHeader); } } }
额外注意事项
- 对应导出CSV的方法为
CSVLibraryAK.CsvExport(),调用逻辑和导入一致,不要写错类名和方法前缀 - 如果修正写法后依然提示找不到方法,打开NuGet包管理器把
CSVLibraryAK.Core升级到最新稳定版本即可,部分早期预览版的方法命名存在差异 - 代码运行前确认传入的文件路径真实存在,且程序对该路径有读取权限,避免后续抛出IO相关异常
内容的提问来源于stack exchange,提问作者Aryan Gupta
相关产品推荐
相关产品推荐

