2016-04-11 19 views
-2

Bir excel dosyasından bir C++ programına okumam gereken bir projem var. Daha sonra bu verileri hesaplama, sıralama, arama, vb. Yürütmek için kullanabilmem gerekir. Excel dosyasında, hesaplamalar için gerekli olmayan yaklaşık 20 satırlık bilgi vardır. Daha sonra, birkaç sütunu kapsayan yaklaşık 100 satırlık ham veri vardır. Sorum şu ki, ilk 20 satırı nasıl okuyacak ve saklayacak, ancak bunları kullanamayacak ve diğer 100 satırı ve sütunu bir yapıya nasıl okuyacağımı, böylece verilere erişebileceğim.Görsel stüdyo kullanarak C++'da bir excel dosyasını okuyun

+0

Neden insanlar soruya oy veriyor? Sorduğum bir sorun varsa, bana bildirin. –

+0

Sadece onun üzerinde kaşlarını çattıran bir şey yok. Endişelenme. Ayrıca her zaman oy altında olan soruları görüyorum :( – Auriga

cevap

2

Excel dosyasını daha kolay hale getiren bir csv biçim dosyasına dönüştürebilirsiniz. Dosyayı açmak için std::ifstream kullanın, her virgülle ayrılmış satırı okumak için getline ve değerleri belirtmek için strtok kullanın. Bir sütun küçük ve/veya sabit sayıda varsa, kullanabilirsiniz

Veya, fscanf(file,"%g,%g...",...)

0

Bina aşağıdaki adımlarda
sorunu işleyebilir, bir .csv biçimine dosyayı dönüştürmek için Auriga'nın önerisi üzerine : EOF karşılaştı kadar Excel Tablosu çizgi sayısı belirsiz ise

  1. (daha fazla veya 120 daha az olabilir), basitçe dosyayı okuyun.
  2. Basit bir String dizisinde ilk 20 satırlarını saklayın, çünkü bu verilerle herhangi bir hesaplama yapmak istemezsiniz.
  3. Auriga tarafından çok iyi bir şekilde önerildiği gibi, verilerin kalanını bir 2B dizisinde belirtin ve kaydedin (ya da veri türü için veri türü için veri türü olan vector< vector<datatype> >).

Artık verilere erişebilir ve bunları doğrudan 2D veri yapısından (Array veya Vector) kullanabilirsiniz.

Şerefe!

İlgili konular