【发布时间】:2015-06-18 03:22:47
【问题描述】:
所以我试图打开一个 excel 文件并用电子表格中的所有值填充一个文本框。每当我运行我的代码时,它都会从单元格 A1 中输入值,仅此而已。我不太确定我的循环做错了什么。请帮助并提前感谢您。
private void LoadButton_Click(object sender, EventArgs e)
{
OpenFileDialog loadFile = new OpenFileDialog();
if (loadFile.ShowDialog() == DialogResult.OK)
{
string rowsAndColumns = "";
fileName = loadFile.FileName;
Excel.Application myApp = new Excel.Application();
myApp.Visible = false;
Excel.Workbook myBook = myApp.Workbooks.Open(fileName);
Excel.Worksheet mySheet = myBook.Sheets[1];
object[,] words = (object[,])mySheet.UsedRange.get_Value(Excel.XlRangeValueDataType.xlRangeValueDefault);
for (int row = 1; row <= mySheet.UsedRange.Row; row++)
{
for (int column = 1; column <= mySheet.UsedRange.Column; column++)
{
rowsAndColumns += words[row, column];
}
rowsAndColumns += Environment.NewLine;
}
BasicTextBox.Text = rowsAndColumns;
}
}
【问题讨论】:
-
只有两个小建议:(1) 使用
StringBuilder类来构建您的字符串,而不是与+连接。 (2) 确保当范围内只有一个单元格时可以避免错误(此处描述的问题stackoverflow.com/questions/7383304/…)。我知道这不是您问题的答案,但它仍然可能会有所帮助;)。