Microsoft.Office.Interop.Excel を使用している場合は、 to (テキスト用)numberformat
のプロパティを設定すると、適切な値が保持されます。これを試してください。Cell
@
oSheet.Cells[rowCount, columnCount].numberformat = "@";
oSheet.Cells[rowCount, columnCount] = "7/9";
編集コメントによると、次のように使用する必要があります。
for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
{
for (int j = 0; j < dataGridView1.Columns.Count; j++)
{
if(j+1 == 5 && i!=1) //value of the cell where you put values like 7/8 and it's not the column name cell
worksheet.Cells[i + 2, j + 1].numberformat = "@";
worksheet.Cells[i + 2, j + 1] = dataGridView1.Rows[i].Cells[j].Value.ToString();
}
}
EDIT2これは列名なので、これを使用できます:
for (int j = 0; j < dataGridView1.Columns.Count; j++)
{
worksheet.Cells[1, j + 1].numberformat = "@";
worksheet.Cells[1, j + 1].dataGridView1.Columns[i].Name
}
for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
{
for (int j = 0; j < dataGridView1.Columns.Count; j++)
{
worksheet.Cells[i + 2, j + 1] = dataGridView1.Rows[i].Cells[j].Value.ToString();
}
}