async Task DumpAllCoinsAndStats() { List <Coin> allCoinList = exchangeMonitor.allCoins.ToList(); List <string[]> results = new List <string[]>(); AboutCoin headers = new AboutCoin(); headers.PopulateWithColumnNames(); results.Add(headers.ToArray()); for (int i = 0; i < allCoinList.Count; i++) { Coin coin = allCoinList[i]; if (coin.coinMarketCapData == null || coin.coinMarketCapData.marketCapUsd == null || coin.coinMarketCapData.marketCapUsd.Value < minCap) { continue; } AboutCoin about = DescribeCoin(coin.fullName); if (about != null) { results.Add(about.ToArray()); } } for (int i = 0; i < 100; i++) { // Clear some old coins results.Add(new AboutCoin().ToArray()); } await sheet.Write(dataDumpTab, "A1", results); }