Мне нужно решение для этой ошибки"system.argumentnullexception: 'value не может быть null. Имя параметра: path'" и может ли любой 1 Поделиться получением файла excel в listview с помощью oledb-соединения
Мне нужно решение для этой ошибки"system.argumentnullexception: 'value не может быть null. Имя параметра: path'" и может ли любой 1 поделиться со мной кодом для получения файла excel в listview с помощью oledb-соединения
Что я уже пробовал:
использование системы;
использование системы.Коллекции.Общий;
использование System.Linq;
использование System.Text;
использование системы.Нарезание резьбы.Задачи;
пространство имен WpfApp2
{
оплата класса
{
публичная строка ACHTransactionCodeM { get; set; }
public string Control9{ get; set; }
публичная строка DestinationAccountType2 { get; set; }
публичная строка LedgerFolioNumber3 { get; set; }
public string Control15 { get; set; }
публичная строка BeneficiaryAccountHoldersName40 { get; set; }
public string Control7 { get; set; }
}
}
using System; using System.Collections.Generic; using System.Data; using System.Data.OleDb; using System.IO; using System.Linq; using System.Windows; using System.Windows.Shapes; using Microsoft.Win32; using WpfApp2; namespace WpfApp2 { public partial class MainWindow : Window { private string filePath; public MainWindow() { InitializeComponent(); } private void Button_Click_1(object sender, RoutedEventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); // ofd.DefaultExt = "Image files(*.png; *.jpeg)| *.png; *.jpeg | All files(*.*) | *.* ;"; ofd.Filter = @"All files (*.*)|*.*"; ; ofd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); string connetion = string.Format(@"provider= Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\tharun.reddy\Documents\cms1.xlsx ; Extended Properties= 'Excel 12.0 Xml;HDR=YES;IMEX=1;'"); OleDbConnection conector = new OleDbConnection(connetion); conector = new OleDbConnection(connetion); conector.Open(); OleDbCommand consulta = default(OleDbCommand); consulta = new OleDbCommand("select * from [cms1$]", conector); OleDbDataAdapter adapter = new System.Data.OleDb.OleDbDataAdapter(); adapter.SelectCommand = consulta; DataSet ds = new DataSet(); adapter.Fill(ds); conector.Close(); if (ofd.ShowDialog() == true) { string filename = ofd.FileName; textbox.Text = filename; //txtEditor.Text = File.ReadAllText(filename); } List<payment> payments = DataTableReader(textbox.Text); //lvPayments.ItemsSource = File.ReadAllText(filename); lvPayments.ItemsSource = payments ; } private List<payment> DataTableReader(string filepath) { List<payment> lstpayment = new List<payment>(); using (StreamReader sr = File.OpenText(filePath)) { string strPay = string.Empty; string strACHTransactionCodeM = (new FileInfo(filePath)).Name; foreach (var payment in sr.ReadToEnd().Split(new string[] { "\n", "\r\n" }, StringSplitOptions.RemoveEmptyEntries).AsEnumerable()) { string[] strCols = payment.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); lstpayment.Add(new payment { ACHTransactionCodeM = strACHTransactionCodeM, Control9 = strCols[1], DestinationAccountType2 = strCols[2] }); } } return lstpayment; } } }
F-ES Sitecore
Какая строка выдает ошибку?
tp09
string strACHTransactionCodeM = (new FileInfo(filePath)).Name;
CHill60
Похоже, что в текстовом поле ничего нет.
CHill60
Смотрите решение от OriginalGriff и поставьте свою точку останова на линию
List<payment> payments = DataTableReader(textbox.Text);Как я уже сказал, Похоже на текстовое поле.Текст пуст
tp09
ладно