sudhakarthikeyan Ответов: 2

Как получить имя файла excel


Мой код выглядит следующим образом

int count = 0;
string connectionstring = "Server=(local);initial catalog=Test;Trusted_Connection=True";
SqlConnection sqlConnection = new SqlConnection(connectionstring);
SqlCommand cmd = new SqlCommand();
SqlDataReader reader;
DataSet ds = new DataSet();
cmd.CommandText = "select * from Empdetails";
cmd.CommandText += " where shifttype = @par ";
cmd.Parameters.Add("@par", SqlDbType.Int).Value = j;
cmd.CommandType = CommandType.Text;
cmd.Connection = sqlConnection;
sqlConnection.Open();
reader = cmd.ExecuteReader();
if (reader.HasRows)
{
	string filePath = @"C:\Users\God\Desktop\DataDump\" + j + "Excel.xls";
	System.IO.StreamWriter sw_In = new System.IO.StreamWriter(filePath);
	while (reader.Read())
	{
		if (count == 0)
		{
			for (int i = 0; i < reader.FieldCount; i++)
			{
				sw_In.AutoFlush = true;
				sw_In.Write(reader.GetName(i) + "\t");
			}
			sw_In.Write("\n");
			count = 1;
		}
		for (int i = 0; i < reader.FieldCount; i++)
		{
			sw_In.AutoFlush = true;
			sw_In.Write(reader[i].ToString() + "\t");
		}
		sw_In.Write("\n");
	}
}
reader.Close();
sqlConnection.Close();


когда я запускаю приведенный выше код два файла excel загружаются в рабочий стол в папке C следующим образом

1Excel
2Excel

я хочу, чтобы вышеприведенное имя файла Excel было извлечено и отображено.

для этого как я могу сделать, чтобы удалить имя файла excel и быть отображенным

Maciej Los

Что?

Richard MacCutchan

Почему ты продолжаешь это делать? Сколько раз вам нужно это объяснять - вы не создаете файлы Excel.

2 Ответов

Рейтинг:
1

Halit Yurttaş

Вы используете System.IO.tory.GetFiles("path\\to\\files"). Которые возвращают строковый массив именам файлов.


Рейтинг:
1

Patrice T

Должно быть, я упустил что-то важное, или вы не понимаете код, который должны были написать.

Я не понимаю, почему у вас есть проблема с получением имен файлов, потому что этот код создает файлы, а для создания файлов код дает имена файлов.
Здесь вы создаете полное имя файла перед его созданием:

string filePath = @"C:\Users\God\Desktop\DataDump\" + j + "Excel.xls";

Путь есть C:\Users\God\Desktop\DataDump\
Имя файла: j + "Excel"
Расширение является ".xls"

Нота: ваш код сложен и может быть упрощен до:
for (int i = 0; i < reader.FieldCount; i++)
{
    sw_In.AutoFlush = true;
    sw_In.Write(reader.GetName(i) + "\t");
}
sw_In.Write("\n");
while (reader.Read())
{
    for (int i = 0; i < reader.FieldCount; i++)
    {
        sw_In.AutoFlush = true;
        sw_In.Write(reader[i].ToString() + "\t");
    }
    sw_In.Write("\n");
}